diff options
author | Dan Williams <dcbw@redhat.com> | 2007-05-16 04:41:45 (GMT) |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2007-05-16 04:41:45 (GMT) |
commit | e659d15384908dbfa99d5c78f443bb857cc74cfe (patch) | |
tree | 52498427bf10f69033cf268584e8cdc2c7fadbd5 /sugar/datastore/datastore.py | |
parent | 28e8b9025e33102b270c2898e5c81a440375f7d0 (diff) |
Make datastore find & update operations async
Diffstat (limited to 'sugar/datastore/datastore.py')
-rw-r--r-- | sugar/datastore/datastore.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/sugar/datastore/datastore.py b/sugar/datastore/datastore.py index 38842a0..99fd230 100644 --- a/sugar/datastore/datastore.py +++ b/sugar/datastore/datastore.py @@ -71,20 +71,22 @@ def get(object_id): def create(): return DSObject(object_id=None, metadata={}, file_path=None) -def write(ds_object): +def write(ds_object, reply_handler=None, error_handler=None): logging.debug('datastore.write') if ds_object.object_id: dbus_helpers.update(ds_object.object_id, ds_object.metadata, - ds_object.file_path) + ds_object.file_path, + reply_handler=reply_handler, + error_handler=error_handler) else: ds_object.object_id = dbus_helpers.create(ds_object.metadata, ds_object.file_path) # TODO: register the object for updates logging.debug('Written object %s to the datastore.' % ds_object.object_id) -def find(query): - object_ids = dbus_helpers.find({}) +def find(query, reply_handler=None, error_handler=None): + object_ids = dbus_helpers.find(query, reply_handler, error_handler) objects = [] for object_id in object_ids: objects.append(get(object_id)) |