diff options
author | Marion <marion.zepf@gmail.com> | 2013-07-18 09:16:01 (GMT) |
---|---|---|
committer | Marion <marion.zepf@gmail.com> | 2013-07-18 09:16:01 (GMT) |
commit | ccf1695b3ebb4c13ac4756e1f454d72b34df9aff (patch) | |
tree | dca6e7a0b3f630e4c9beae009c3d69c7bfc87107 /turtleblocks.py | |
parent | f08f71ea8efb9eb7de31fd3a84ac3d550ce39974 (diff) |
add menu item to GNOME version for exporting python code
Diffstat (limited to 'turtleblocks.py')
-rwxr-xr-x | turtleblocks.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/turtleblocks.py b/turtleblocks.py index 5d5808f..02e1aae 100755 --- a/turtleblocks.py +++ b/turtleblocks.py @@ -55,6 +55,7 @@ from TurtleArt.taconstants import (OVERLAY_LAYER, DEFAULT_TURTLE_COLORS, from TurtleArt.tautils import (data_from_string, get_save_name) from TurtleArt.tawindow import TurtleArtWindow from TurtleArt.taexportlogo import save_logo +from TurtleArt.taexportpython import save_python from util.menubuilder import MenuBuilder @@ -377,6 +378,8 @@ return %s(self)" % (p, P, P) self._do_save_picture_cb) MenuBuilder.make_menu_item(menu, _('Save as Logo'), self._do_save_logo_cb) + MenuBuilder.make_menu_item(menu, _('Save as Python'), + self._do_save_python_cb) MenuBuilder.make_menu_item(menu, _('Quit'), self._quit_ta) activity_menu = MenuBuilder.make_sub_menu(menu, _('File')) @@ -527,6 +530,23 @@ Would you like to save before quitting?')) f.write(logocode) f.close() + def _do_save_python_cb(self, widget): + ''' Callback for saving the project as Python code. ''' + # TODO implement + pythoncode = save_python(self.tw) + if not pythoncode: + return + save_type = '.py' + # TODO use name of TA project if it has been saved already + (filename, self.tw.load_save_folder) = get_save_name( + save_type, self.tw.load_save_folder, 'myproject') + if isinstance(filename, unicode): + filename = filename.encode('ascii', 'replace') + if filename is not None: + f = file(filename, 'w') + f.write(pythoncode) + f.close() + def _do_resize_cb(self, widget, factor): ''' Callback to resize blocks. ''' if factor == -1: |