aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/storage.py
diff options
context:
space:
mode:
authorElrond <elrond+mediagoblin.org@samba-tng.org>2011-08-03 23:13:58 +0200
committerElrond <elrond+mediagoblin.org@samba-tng.org>2011-08-03 23:13:58 +0200
commiteea315623fdff018f389dad2ab037a2b2aaf982b (patch)
treeabb7e8f2988f1dd42520564d7e8aa9f2ac062a84 /mediagoblin/storage.py
parent926aec14737d59160c0fac04a1af201550abe967 (diff)
downloadmediagoblin-eea315623fdff018f389dad2ab037a2b2aaf982b.tar.lz
mediagoblin-eea315623fdff018f389dad2ab037a2b2aaf982b.tar.xz
mediagoblin-eea315623fdff018f389dad2ab037a2b2aaf982b.zip
MountStorage: Better error reporting
Created a new resolver frontend function, that raises and error, when no backend is found. Useful for all the wrappers.
Diffstat (limited to 'mediagoblin/storage.py')
-rw-r--r--mediagoblin/storage.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/mediagoblin/storage.py b/mediagoblin/storage.py
index abbe16c9..f9d2c3ea 100644
--- a/mediagoblin/storage.py
+++ b/mediagoblin/storage.py
@@ -227,7 +227,7 @@ class MountStorage(StorageInterface):
new_ent = clean_listy_filepath(dirpath)
print "Mounting:", repr(new_ent)
- already, rem_1, table, rem_2 = self.resolve_to_backend(new_ent, True)
+ already, rem_1, table, rem_2 = self._resolve_to_backend(new_ent, True)
print "===", repr(already), repr(rem_1), repr(rem_2)
assert (already is None) or (len(rem_2) > 0), "Already mounted"
@@ -237,7 +237,7 @@ class MountStorage(StorageInterface):
assert not table.has_key(None), "Huh? Already mounted?!"
table[None] = backend
- def resolve_to_backend(self, filepath, extra_info = False):
+ def _resolve_to_backend(self, filepath, extra_info = False):
"""
extra_info = True is for internal use!
@@ -270,6 +270,12 @@ class MountStorage(StorageInterface):
else:
return (res_be, res_fp)
+ def resolve_to_backend(self, filepath):
+ backend, filepath = self._resolve_to_backend(filepath)
+ if backend is None:
+ raise Error("Path not mounted")
+ return backend, filepath
+
def __repr__(self, table = None, indent = []):
res = []
if table is None: