Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/develop-activity/develop_app.py
diff options
context:
space:
mode:
authorGonzalo Odiard <godiard@gmail.com>2012-07-16 01:35:51 (GMT)
committer Gonzalo Odiard <godiard@gmail.com>2012-07-16 01:35:51 (GMT)
commitdd957d8a19cd0a6036b94d3facad92e10baa630c (patch)
treef5121e2ed24d9701b1d6a0909709b154ea6ddb64 /develop-activity/develop_app.py
parenta563cdf74fc1cd8bd2ffa1961854aba95f5a5259 (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.py27
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: