Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter Bender <walter@sugarlabs.org>2010-11-17 02:37:14 (GMT)
committer Walter Bender <walter@sugarlabs.org>2010-11-17 02:37:14 (GMT)
commitdb927b97d91eec43cb53dec377db130a6aa86ea7 (patch)
tree97eaa1b590db7621492b8a0f24b1565c726a2e7f
parentd611a4c8f04f85ea8d0c08c0a109a7a2a4c2c1e8 (diff)
reload Python code outside of Sugar env.
-rw-r--r--TurtleArt/tawindow.py23
-rw-r--r--TurtleArtActivity.py9
2 files changed, 19 insertions, 13 deletions
diff --git a/TurtleArt/tawindow.py b/TurtleArt/tawindow.py
index a2c95aa..80c9e1b 100644
--- a/TurtleArt/tawindow.py
+++ b/TurtleArt/tawindow.py
@@ -2144,11 +2144,12 @@ class TurtleArtWindow():
self.selected_blk.spr.set_label(s)
self.selected_blk.values[0] = s.replace(RETURN, "\12")
- def load_python_code_from_file(self, add_new_block=True):
+ def load_python_code_from_file(self, fname=None, add_new_block=True):
""" Load Python code from a file """
id = None
- fname, self.py_load_save_folder = get_load_name('.py',
- self.py_load_save_folder)
+ if fname is None:
+ fname, self.py_load_save_folder = get_load_name('.py',
+ self.py_load_save_folder)
if fname is None:
return id
try:
@@ -2186,6 +2187,11 @@ class TurtleArtWindow():
self.set_userdefined(self.drag_group[0])
self.drag_group[0].values.append(dsobject.object_id)
self.drag_group = None
+ else:
+ if len(self.selected_blk.values) == 0:
+ self.selected_blk.values.append(fname)
+ else:
+ self.selected_blk.values[0] = fname
return id
@@ -2212,7 +2218,7 @@ class TurtleArtWindow():
chooser(self.parent, 'org.laptop.Pippy',
self.load_python_code_from_journal)
else:
- self.load_python_code_from_file(False)
+ self.load_python_code_from_file(fname=None, add_new_block=False)
if self.selected_blk is not None:
self.myblock[self.block_list.list.index(self.selected_blk)] = \
@@ -2338,8 +2344,13 @@ class TurtleArtWindow():
if value is not None:
self.block_scale = value
elif btype in BASIC_STYLE_VAR_ARG and value is not None:
- print btype, value
- self.load_python_code_from_journal(datastore.get(value), blk)
+ if self.running_sugar:
+ self.load_python_code_from_journal(datastore.get(value), blk)
+ else:
+ self.selected_blk = blk
+ self.load_python_code_from_file(fname=value,
+ add_new_block=False)
+ self.selected_blk = None
self.myblock[self.block_list.list.index(blk)] = self.python_code
self.set_userdefined(blk)
elif btype in EXPANDABLE or btype in EXPANDABLE_BLOCKS or \
diff --git a/TurtleArtActivity.py b/TurtleArtActivity.py
index 3253c2d..d08310f 100644
--- a/TurtleArtActivity.py
+++ b/TurtleArtActivity.py
@@ -124,10 +124,6 @@ class TurtleArtActivity(activity.Activity):
self._setup_canvas(canvas)
- if 'python code' in self.metadata:
- self.tw.load_python_code_from_journal(
- datastore.get(self.metadata['python code']))
-
self._setup_sharing()
# Activity toolbar callbacks
@@ -234,9 +230,8 @@ class TurtleArtActivity(activity.Activity):
def do_load_python_cb(self, button):
""" Load Python code from the Journal. """
self.load_python.set_icon("pippy-openon")
- object_id = self.tw.load_python_code_from_file()
- if object_id is not None:
- self.metadata['python code'] = object_id
+ object_id = self.tw.load_python_code_from_file(fname=None,
+ add_new_block=True)
gobject.timeout_add(250, self.load_python.set_icon, "pippy-openoff")
def do_save_as_image_cb(self, button):