Adapt to new DataStore API.
This commit is contained in:
parent
490b939eb9
commit
1dc104126d
@ -25,7 +25,7 @@ class DSObject(gobject.GObject):
|
|||||||
([]))
|
([]))
|
||||||
}
|
}
|
||||||
|
|
||||||
def __init__(self, object_id, metadata, file_path):
|
def __init__(self, object_id, metadata=None, file_path=None):
|
||||||
gobject.GObject.__init__(self)
|
gobject.GObject.__init__(self)
|
||||||
self.object_id = object_id
|
self.object_id = object_id
|
||||||
self._metadata = metadata
|
self._metadata = metadata
|
||||||
@ -43,6 +43,8 @@ class DSObject(gobject.GObject):
|
|||||||
del self.metadata[key]
|
del self.metadata[key]
|
||||||
|
|
||||||
def get_metadata(self):
|
def get_metadata(self):
|
||||||
|
if self._metadata is None and not self.object_id is None:
|
||||||
|
self.set_metadata(dbus_helpers.get_properties(self.object_id))
|
||||||
return self._metadata
|
return self._metadata
|
||||||
|
|
||||||
def set_metadata(self, metadata):
|
def set_metadata(self, metadata):
|
||||||
@ -53,6 +55,8 @@ class DSObject(gobject.GObject):
|
|||||||
metadata = property(get_metadata, set_metadata)
|
metadata = property(get_metadata, set_metadata)
|
||||||
|
|
||||||
def get_file_path(self):
|
def get_file_path(self):
|
||||||
|
if self._file_path is None and not self.object_id is None:
|
||||||
|
self.set_file_path(dbus_helpers.get_filename(self.object_id))
|
||||||
return self._file_path
|
return self._file_path
|
||||||
|
|
||||||
def set_file_path(self, file_path):
|
def set_file_path(self, file_path):
|
||||||
@ -88,9 +92,30 @@ def write(ds_object, reply_handler=None, error_handler=None):
|
|||||||
# TODO: register the object for updates
|
# TODO: register the object for updates
|
||||||
logging.debug('Written object %s to the datastore.' % ds_object.object_id)
|
logging.debug('Written object %s to the datastore.' % ds_object.object_id)
|
||||||
|
|
||||||
def find(query, reply_handler=None, error_handler=None):
|
def find(query, sorting=None, limit=None, offset=None, reply_handler=None,
|
||||||
object_ids = dbus_helpers.find(query, reply_handler, error_handler)
|
error_handler=None):
|
||||||
|
if sorting:
|
||||||
|
query['order_by'] = sorting
|
||||||
|
if limit:
|
||||||
|
query['limit'] = limit
|
||||||
|
if offset:
|
||||||
|
query['offset'] = offset
|
||||||
|
|
||||||
|
props_list, total_count = dbus_helpers.find(query, reply_handler, error_handler)
|
||||||
|
|
||||||
objects = []
|
objects = []
|
||||||
for object_id in object_ids:
|
for props in props_list:
|
||||||
objects.append(get(object_id))
|
if props.has_key('filename') and props['filename']:
|
||||||
return objects
|
file_path = props['filename']
|
||||||
|
del props['filename']
|
||||||
|
else:
|
||||||
|
file_path = None
|
||||||
|
|
||||||
|
object_id = props['uid']
|
||||||
|
del props['uid']
|
||||||
|
|
||||||
|
ds_object = DSObject(object_id, props, file_path)
|
||||||
|
objects.append(ds_object)
|
||||||
|
|
||||||
|
return objects, total_count
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user