diff options
-rw-r--r-- | src/olpc/datastore/datastore.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/olpc/datastore/datastore.py b/src/olpc/datastore/datastore.py index f37bff3..91bdb4a 100644 --- a/src/olpc/datastore/datastore.py +++ b/src/olpc/datastore/datastore.py @@ -244,9 +244,9 @@ class DataStore(dbus.service.Object): #@utils.sanitize_dbus @dbus.service.method(DS_DBUS_INTERFACE, - in_signature='a{sv}', + in_signature='a{sv}as', out_signature='aa{sv}u') - def find(self, query=None, **kwargs): + def find(self, query=None, properties=None, **kwargs): """find(query) takes a dict of parameters and returns data in the following format @@ -354,6 +354,11 @@ class DataStore(dbus.service.Object): props['filename'] = filename d.append(props) + if properties: + for name in props.keys(): + if name not in properties: + del props[name] + if limit: d = d[offset: offset+limit] |