From: Elrond Date: Wed, 3 Aug 2011 21:13:58 +0000 (+0200) Subject: MountStorage: Better error reporting X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=eea315623fdff018f389dad2ab037a2b2aaf982b;p=mediagoblin.git MountStorage: Better error reporting Created a new resolver frontend function, that raises and error, when no backend is found. Useful for all the wrappers. --- 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: