diff options
author | Sascha 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) |
commit | 175736b98277b5aa256711dd88c504ae159e70fd (patch) | |
tree | 179d79170d2dc9b8b300ba2687f9986f467a0289 | |
parent | a125f5cd1e930408eb19bd4562c9c0d6fb29d570 (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.py | 14 |
1 files changed, 11 insertions, 3 deletions
@@ -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() |