From 91f0eb52aa0cf09097cbe77c763d2e5a6b24b8de Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso Date: Fri, 13 Jul 2007 13:20:44 +0200 Subject: [PATCH] Adapt to datastore API changes. --- sugar/activity/activity.py | 4 ++-- sugar/datastore/datastore.py | 8 +++++++- sugar/datastore/dbus_helpers.py | 11 +++++++++-- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/sugar/activity/activity.py b/sugar/activity/activity.py index d63b66e5..22a84a76 100644 --- a/sugar/activity/activity.py +++ b/sugar/activity/activity.py @@ -249,7 +249,7 @@ class Activity(Window, gtk.Container): self._jobject.metadata['title_set_by_user'] = '0' self._jobject.metadata['activity'] = self.get_service_name() self._jobject.metadata['keep'] = '0' - self._jobject.metadata['buddies'] = '' + #self._jobject.metadata['buddies'] = '' self._jobject.metadata['preview'] = '' self._jobject.metadata['icon-color'] = profile.get_color().to_string() self._jobject.file_path = '' @@ -339,7 +339,7 @@ class Activity(Window, gtk.Container): def save(self): """Request that the activity is saved to the Journal.""" - self.metadata['buddies'] = self._get_buddies() + #self.metadata['buddies'] = self._get_buddies() if self._preview is None: self.metadata['preview'] = '' else: diff --git a/sugar/datastore/datastore.py b/sugar/datastore/datastore.py index 45af947a..99fd3ac8 100644 --- a/sugar/datastore/datastore.py +++ b/sugar/datastore/datastore.py @@ -16,6 +16,7 @@ # Boston, MA 02111-1307, USA. import logging +import time import gobject @@ -129,11 +130,16 @@ def get(object_id): return ds_object def create(): - return DSObject(object_id=None, metadata=DSMetadata(), file_path=None) + metadata = DSMetadata() + metadata['ctime'] = time.strftime('%Y-%m-%d') + metadata['mtime'] = metadata['ctime'] + return DSObject(object_id=None, metadata=metadata, file_path=None) def write(ds_object, reply_handler=None, error_handler=None): logging.debug('datastore.write') + ds_object.metadata['mtime'] = time.strftime('%Y-%m-%d') + 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'): diff --git a/sugar/datastore/dbus_helpers.py b/sugar/datastore/dbus_helpers.py index 2ce00909..a89320dd 100644 --- a/sugar/datastore/dbus_helpers.py +++ b/sugar/datastore/dbus_helpers.py @@ -15,6 +15,7 @@ # License along with this library; if not, write to the # Free Software Foundation, Inc., 59 Temple Place - Suite 330, # Boston, MA 02111-1307, USA. + import logging import dbus @@ -34,6 +35,8 @@ _data_store = dbus.Interface(_bus.get_object(DS_DBUS_SERVICE, DS_DBUS_PATH), def create(properties, filename): object_id = _data_store.create(dbus.Dictionary(properties), filename) logging.debug('dbus_helpers.create: ' + object_id) + # TODO: take out this forced flush + _data_store.complete_indexing() return object_id def update(uid, properties, filename, reply_handler=None, error_handler=None): @@ -44,14 +47,18 @@ def update(uid, properties, filename, reply_handler=None, error_handler=None): error_handler=error_handler) else: _data_store.update(uid, dbus.Dictionary(properties), filename) + # TODO: take out this forced flush + _data_store.complete_indexing() def delete(uid): logging.debug('dbus_helpers.delete: %r' % uid) _data_store.delete(uid) - + # TODO: take out this forced flush + _data_store.complete_indexing() + def get_properties(uid): logging.debug('dbus_helpers.get_properties: %s' % uid) - return _data_store.get_properties(uid, []) + return _data_store.get_properties(uid) def get_filename(uid): filename = _data_store.get_filename(uid)