Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Silbe <sascha@silbe.org>2009-08-17 23:43:05 (GMT)
committer Sascha Silbe <sascha@silbe.org>2009-08-19 20:33:06 (GMT)
commitbd9e5f591d3f600593132bf44a73118d2141bf16 (patch)
treec6ec0407275cb63bdf094cfaf8b0390574cc8a0d
parent543cc72ce367c565152f54baba452ed67122119a (diff)
fix some bugs that crept in during cherry-picking
-rw-r--r--src/sugar/datastore/datastore.py28
1 files changed, 18 insertions, 10 deletions
diff --git a/src/sugar/datastore/datastore.py b/src/sugar/datastore/datastore.py
index f7de51c..26d9c49 100644
--- a/src/sugar/datastore/datastore.py
+++ b/src/sugar/datastore/datastore.py
@@ -213,19 +213,27 @@ def find(query, sorting=None, limit=None, offset=None, properties=None,
query['limit'] = limit
if offset:
query['offset'] = offset
-
- props_list, total_count = dbus_helpers.find(query, properties,
- reply_handler, error_handler)
-
+
+ if reply_handler and error_handler:
+ f_reply_handler = (lambda entries, total_count:
+ reply_handler(_metadata_to_dsobjects(entries), total_count))
+
+ return dbus_helpers.find(query, properties, f_reply_handler,
+ error_handler)
+
+ entries, total_count = dbus_helpers.find(query, properties)
+ return _metadata_to_dsobjects(entries), total_count
+
+def _metadata_to_dsobjects(entries) :
objects = []
- for props in props_list:
- object_id = props['uid']
- del props['uid']
+ for properties in entries:
+ object_id = properties['uid']
+ del properties['uid']
- ds_object = DSObject(object_id, DSMetadata(props), None)
+ ds_object = DSObject(object_id, DSMetadata(properties))
objects.append(ds_object)
- return objects, total_count
+ return objects
def copy(jobject, mount_point):
@@ -291,7 +299,7 @@ class DatastoreListener(object):
def _datastore_created_cb(self, object_id):
metadata = get_properties(object_id)
- self.saved.send(self, metadata=metadata)
+ self.created.send(self, metadata=metadata)
def _datastore_updated_cb(self, object_id):
metadata = get_properties(object_id)