Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@tomeuvizoso.net>2007-09-10 16:04:54 (GMT)
committer Tomeu Vizoso <tomeu@tomeuvizoso.net>2007-09-10 16:04:54 (GMT)
commitd7a1d3449062b713963e7c31644764e4a04cb020 (patch)
tree60e4cd6ce5c7f982685f7bb5e4ba337ab94bfcf6
parentc2b0d48d78c488847f42ec3f1883a7d97dfa15db (diff)
Add a parameter to datastore.find() for filtering out unwanted metadata properties.
-rw-r--r--src/olpc/datastore/datastore.py9
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]