diff options
author | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2007-03-04 10:27:33 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2007-03-04 10:27:33 (GMT) |
commit | a585221b164ef353634afd407af5d330931e36f4 (patch) | |
tree | 8908aba3d058495ed9a1b00f0dc4468c7a92fe37 /sugar/datastore | |
parent | 559d21d4d26da6bb4d42389852a447a562eab15a (diff) |
Added object update to the datastore.
Diffstat (limited to 'sugar/datastore')
-rw-r--r-- | sugar/datastore/datastore.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/sugar/datastore/datastore.py b/sugar/datastore/datastore.py index 33deadc..f62e7af 100644 --- a/sugar/datastore/datastore.py +++ b/sugar/datastore/datastore.py @@ -91,10 +91,14 @@ def write(obj): metadata = obj.get_metadata().copy() metadata['file-path'] = obj.get_file_path() metadata['object-type'] = obj.get_object_type() - logging.debug(str(metadata)) - object_path = _data_store.create(dbus.Dictionary(metadata)) - dbus_object = _bus.get_object(DS_DBUS_SERVICE, object_path) - return dbus_object.get_properties(['handle'])['handle'] + + if obj.get_handle(): + _data_store.update(int(obj.get_handle()), dbus.Dictionary(metadata)) + return obj.get_handle() + else: + object_path = _data_store.create(dbus.Dictionary(metadata)) + dbus_object = _bus.get_object(DS_DBUS_SERVICE, object_path) + return dbus_object.get_properties(['handle'])['handle'] def find(query): object_paths = _data_store.find(query) |