From a585221b164ef353634afd407af5d330931e36f4 Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso Date: Sun, 04 Mar 2007 10:27:33 +0000 Subject: Added object update to the datastore. --- (limited to 'sugar/datastore') 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) -- cgit v0.9.1