diff options
Diffstat (limited to 'sugar/datastore/datastore.py')
-rw-r--r-- | sugar/datastore/datastore.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sugar/datastore/datastore.py b/sugar/datastore/datastore.py index 0c2379d..0a7be50 100644 --- a/sugar/datastore/datastore.py +++ b/sugar/datastore/datastore.py @@ -60,8 +60,14 @@ class DSMetadata(gobject.GObject): def __delitem__(self, key): del self._props[key] + def __contains__(self, key): + return self._props.__contains__(key) + def has_key(self, key): return self._props.has_key(key) + + def keys(self): + return self._props.keys() def get_dictionary(self): return self._props @@ -69,6 +75,12 @@ class DSMetadata(gobject.GObject): def copy(self): return DSMetadata(self._props.copy()) + def get(self, key, default=None): + if self._props.has_key(key): + return self._props[key] + else: + return default + class DSObject(object): def __init__(self, object_id, metadata=None, file_path=None): self.object_id = object_id |