From d7a1d3449062b713963e7c31644764e4a04cb020 Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso Date: Mon, 10 Sep 2007 16:04:54 +0000 Subject: Add a parameter to datastore.find() for filtering out unwanted metadata properties. --- 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] -- cgit v0.9.1