diff options
author | Elrond <elrond+mediagoblin.org@samba-tng.org> | 2011-08-03 23:13:58 +0200 |
---|---|---|
committer | Elrond <elrond+mediagoblin.org@samba-tng.org> | 2011-08-03 23:13:58 +0200 |
commit | eea315623fdff018f389dad2ab037a2b2aaf982b (patch) | |
tree | abb7e8f2988f1dd42520564d7e8aa9f2ac062a84 | |
parent | 926aec14737d59160c0fac04a1af201550abe967 (diff) | |
download | mediagoblin-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.
-rw-r--r-- | mediagoblin/storage.py | 10 |
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: |