diff options
author | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2007-07-09 12:26:41 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2007-07-09 12:26:41 (GMT) |
commit | a4f4d969fea4787aaecf8cafd1095a412d01a432 (patch) | |
tree | d99d99c7f3e2cc50724866819b1e7dcf3b68bb7a /sugar/datastore | |
parent | 8b72656ca429cd43f26b9c5edc2479a756914149 (diff) |
Popdown when the toplevel of the parent item loses focus.
Diffstat (limited to 'sugar/datastore')
-rw-r--r-- | sugar/datastore/datastore.py | 11 | ||||
-rw-r--r-- | sugar/datastore/dbus_helpers.py | 2 |
2 files changed, 10 insertions, 3 deletions
diff --git a/sugar/datastore/datastore.py b/sugar/datastore/datastore.py index 4acfd86..26ea49e 100644 --- a/sugar/datastore/datastore.py +++ b/sugar/datastore/datastore.py @@ -99,14 +99,21 @@ def create(): def write(ds_object, reply_handler=None, error_handler=None): logging.debug('datastore.write') + + properties = ds_object.metadata.get_dictionary().copy() + # The title property should be sent as a 'text' property so it gets indexed + if properties.has_key('title'): + properties['title:text'] = properties['title'] + del properties['title'] + if ds_object.object_id: dbus_helpers.update(ds_object.object_id, - ds_object.metadata.get_dictionary(), + properties, ds_object.file_path, reply_handler=reply_handler, error_handler=error_handler) else: - ds_object.object_id = dbus_helpers.create(ds_object.metadata.get_dictionary(), + ds_object.object_id = dbus_helpers.create(properties, ds_object.file_path) # TODO: register the object for updates logging.debug('Written object %s to the datastore.' % ds_object.object_id) diff --git a/sugar/datastore/dbus_helpers.py b/sugar/datastore/dbus_helpers.py index 18c20ea..2ce0090 100644 --- a/sugar/datastore/dbus_helpers.py +++ b/sugar/datastore/dbus_helpers.py @@ -37,7 +37,7 @@ def create(properties, filename): return object_id def update(uid, properties, filename, reply_handler=None, error_handler=None): - logging.debug('dbus_helpers.update: %s, %s' % (uid, filename)) + logging.debug('dbus_helpers.update: %s, %s, %s' % (uid, filename, properties)) if reply_handler and error_handler: _data_store.update(uid, dbus.Dictionary(properties), filename, reply_handler=reply_handler, |