Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Silbe <sascha-pgp@silbe.org>2011-10-11 22:44:39 (GMT)
committer Sascha Silbe <sascha-pgp@silbe.org>2011-10-11 22:44:39 (GMT)
commit175736b98277b5aa256711dd88c504ae159e70fd (patch)
tree179d79170d2dc9b8b300ba2687f9986f467a0289
parenta125f5cd1e930408eb19bd4562c9c0d6fb29d570 (diff)
Fix clean-up (temporary files, thumbnails) after saving
sugar.datastore.datastore.create() still cannot be called asynchronously, so we need to "emulate" it.
-rw-r--r--scan.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/scan.py b/scan.py
index cf685c6..978742e 100644
--- a/scan.py
+++ b/scan.py
@@ -692,9 +692,17 @@ class ScanActivity(activity.Activity):
# TODO: add tags, description etc.
jobject.file_path = name
self._save_button.set_sensitive(False)
- datastore.write(jobject, transfer_ownership=True,
- reply_handler=self._save_reply_cb,
- error_handler=self._save_error_cb)
+ # async not supported, see SL#3071
+ #datastore.write(jobject, transfer_ownership=True,
+ # reply_handler=self._save_reply_cb,
+ # error_handler=self._save_error_cb)
+ try:
+ datastore.write(jobject, transfer_ownership=True)
+ except Exception, exception:
+ self._save_error_cb(exception)
+ else:
+ self._save_reply_cb()
+
jobject.destroy()
@trace()