Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Silbe <sascha@silbe.org>2009-07-12 11:43:34 (GMT)
committer Sascha Silbe <sascha@silbe.org>2009-07-12 11:43:34 (GMT)
commit27b147a343695d44869b6c7669ed88ba7df0e3cb (patch)
treebdcf4a8efecb8697282789af16f3f0cf7586c12a
parent69f51b50b4f18503c72eaaa36fd4f69f663a5c5e (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.py3
-rw-r--r--src/carquinyol/metadatastore.py3
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):