From 27b147a343695d44869b6c7669ed88ba7df0e3cb Mon Sep 17 00:00:00 2001 From: Sascha Silbe Date: Sun, 12 Jul 2009 11:43:34 +0000 Subject: get_properties(): raise sugar.datastore.InvalidArgumentError instead of IOError if given tree_id/version_id is not valid --- 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): -- cgit v0.9.1