diff options
author | Sascha Silbe <sascha@silbe.org> | 2009-07-12 11:43:34 (GMT) |
---|---|---|
committer | Sascha Silbe <sascha@silbe.org> | 2009-07-12 11:43:34 (GMT) |
commit | 27b147a343695d44869b6c7669ed88ba7df0e3cb (patch) | |
tree | bdcf4a8efecb8697282789af16f3f0cf7586c12a | |
parent | 69f51b50b4f18503c72eaaa36fd4f69f663a5c5e (diff) |
get_properties(): raise sugar.datastore.InvalidArgumentError instead of IOError if given tree_id/version_id is not valid
-rw-r--r-- | src/carquinyol/datastore.py | 3 | ||||
-rw-r--r-- | src/carquinyol/metadatastore.py | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/carquinyol/datastore.py b/src/carquinyol/datastore.py index ccad08a..7cd95f5 100644 --- a/src/carquinyol/datastore.py +++ b/src/carquinyol/datastore.py @@ -334,6 +334,9 @@ class DataStore(dbus.service.Object): @trace() def get_properties(self, tree_id, version_id): metadata = self._metadata_store.retrieve(tree_id,version_id) + if metadata is None : + raise sugar.datastore.InvalidArgumentError("Given tree_id/version_id does not exist") + return metadata @dbus.service.method(DS_DBUS_INTERFACE, diff --git a/src/carquinyol/metadatastore.py b/src/carquinyol/metadatastore.py index ff3d6bf..ffec4a8 100644 --- a/src/carquinyol/metadatastore.py +++ b/src/carquinyol/metadatastore.py @@ -36,6 +36,9 @@ class MetadataStore(object): def retrieve(self, tree_id, version_id, properties=None): metadata_path = layoutmanager.get_instance().get_metadata_path(tree_id, version_id) + if not os.path.exists(metadata_path) : + return None + return metadatareader.retrieve(metadata_path, properties) def delete(self, tree_id, version_id): |