From: Sebastian Silva <icar...@sugarlabs.org> We don't ship rainbow everywhere so it's worth a try. --- sugarcommander.py | 36 ++++++++++++++++++++++++++++++++++-- 1 files changed, 34 insertions(+), 2 deletions(-)
diff --git a/sugarcommander.py b/sugarcommander.py index 781bce9..f9cdc3f 100755 --- a/sugarcommander.py +++ b/sugarcommander.py @@ -16,7 +16,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA import logging -import os +import os, shutil import time import gtk import pango @@ -233,8 +233,16 @@ class SugarCommander(activity.Activity): self.resize_width_entry.hide() vbox = gtk.VBox(homogeneous=True, spacing=5) + self.export_button = gtk.Button(_("Export Item To The Filesystem")) + self.export_button.connect('clicked', self.export_journal_entry) + self.export_button.show() vbox.pack_start(column_table) - vbox.pack_end(self.list_scroller_journal) + + vbox2 = gtk.VBox() + vbox2.pack_start(self.list_scroller_journal) + vbox2.pack_end(self.export_button, expand=False, fill=False) + vbox.pack_end(vbox2) + vbox2.show() canvas.append_page(vbox, tab1_label) @@ -568,6 +576,30 @@ class SugarCommander(activity.Activity): return os.stat(path).st_size + def export_journal_entry(self, widget, data=None): + jobject = datastore.get(self.selected_journal_entry.object_id) + file_path = jobject.get_file_path() + if not file_path: + return + logging.debug('file path %s' % file_path) + title = jobject.metadata.get('title', None) + target_dir = os.path.join(os.environ['HOME'],'Escritorio') # 'Desktop' in spanish + if not os.path.isdir(target_dir): + target_dir = os.path.join(os.environ['HOME'], 'Desktop') + if not os.path.isdir(target_dir): + target_dir = os.environ['HOME'] + if file_path[-4]=='.': # not all data seems to have extension + file_extension = file_path[-4:] + target_file = title + file_extension + target_path = os.path.join (target_dir, target_file) + try: + shutil.copyfile(file_path, target_path) + except IOError: + self.alert(_('Failure'), _('could not write %s to %s') % (target_file,target_dir)) + else: + self.alert(_('Success'), _('%s was copied to %s.') + % (target_file, target_dir )) + def create_journal_entry(self, widget, data=None): filename = self._filechooser.get_filename() journal_entry = datastore.create() -- 1.7.2.3 _______________________________________________ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel