diff options
author | Gonzalo Odiard <godiard@gmail.com> | 2012-07-16 01:35:51 (GMT) |
---|---|---|
committer | Gonzalo Odiard <godiard@gmail.com> | 2012-07-16 01:35:51 (GMT) |
commit | dd957d8a19cd0a6036b94d3facad92e10baa630c (patch) | |
tree | f5121e2ed24d9701b1d6a0909709b154ea6ddb64 /develop-activity/develop_app.py | |
parent | a563cdf74fc1cd8bd2ffa1961854aba95f5a5259 (diff) |
Add a button to save a bundle in the journal
Signed-off-by: Gonzalo Odiard <gonzalo@laptop.org>
Diffstat (limited to 'develop-activity/develop_app.py')
-rw-r--r-- | develop-activity/develop_app.py | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/develop-activity/develop_app.py b/develop-activity/develop_app.py index 1d1224f..0331496 100644 --- a/develop-activity/develop_app.py +++ b/develop-activity/develop_app.py @@ -20,6 +20,7 @@ import os.path import shutil import gobject import simplejson +import tempfile from gettext import gettext as _ @@ -148,6 +149,11 @@ class DevelopActivity(activity.Activity): stopbtn = StopButton(self) toolbarbox.toolbar.insert(stopbtn, -1) + save_bundle_btn = ToolButton('save-as-bundle') + activity_button.get_page().insert(save_bundle_btn, -1) + save_bundle_btn.connect('clicked', self.save_bundle) + save_bundle_btn.show() + toolbarbox.show_all() # Main layout. @@ -388,17 +394,17 @@ class DevelopActivity(activity.Activity): self.load_file(path) self.numb = False - def save_bundle(self, file_path): + def save_bundle(self, btn): #create bundle - dist_dir, dist_name = os.path.split(file_path) - builder = XOPackager(Builder(Config(activity_dir, - dist_dir, dist_name))) + builder = XOPackager(Builder(Config(self.activity_dir, '/tmp'))) builder.package() - jobject = self._jobject + logging.error('Packaging %s', builder.package_path) + jobject = datastore.create() icon_color = profile.get_color().to_string() metadata = { - 'title': _('%s Bundle') % builder.config.activity_name, + 'title': '%s-%s.xo' % (builder.config.bundle_name, + builder.config.version), 'title_set_by_user': '1', 'suggested_filename': '%s-%s.xo' % (builder.config.bundle_name, builder.config.version), @@ -408,12 +414,15 @@ class DevelopActivity(activity.Activity): 'activity_id': self.get_id(), 'share-scope': activity.SCOPE_PRIVATE, 'preview': '', - 'source': activity_dir, + 'source': self.activity_dir, } - jobject.file_path = file_path + for k, v in metadata.items(): + jobject.metadata[k] = v + jobject.file_path = builder.package_path datastore.write(jobject) jobject.destroy() - return jobject + self._show_alert(_('The bundle has been saved in the journal.'), + _('Success')) def save_source_jobject(self, activity_dir, file_path, filenames=None): if not activity_dir: |