diff options
author | Elrond <elrond+mediagoblin.org@samba-tng.org> | 2011-07-23 15:27:02 +0200 |
---|---|---|
committer | Elrond <elrond+mediagoblin.org@samba-tng.org> | 2011-08-01 23:50:39 +0200 |
commit | 93b2796c7e89e269d60db8e48bf84a0f2ca88d12 (patch) | |
tree | ca3a60dd3dd0f0ea32af54e5f71b1709d9ff8195 | |
parent | 68cf996c1df17ac1f53f5fd86b71bfdfcb9f2aba (diff) | |
download | mediagoblin-93b2796c7e89e269d60db8e48bf84a0f2ca88d12.tar.lz mediagoblin-93b2796c7e89e269d60db8e48bf84a0f2ca88d12.tar.xz mediagoblin-93b2796c7e89e269d60db8e48bf84a0f2ca88d12.zip |
MountStorage: Some small fixups/changes.
1) A bit more assert.
2) Change __repr__ to use lists for the recursion parameter.
-rw-r--r-- | mediagoblin/storage.py | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/mediagoblin/storage.py b/mediagoblin/storage.py index 3d5ce9ab..d994268b 100644 --- a/mediagoblin/storage.py +++ b/mediagoblin/storage.py @@ -237,6 +237,7 @@ class MountStorage(StorageInterface): for part in rem_2: table[part] = {} table = table[part] + assert not table.has_key(None), "Huh? Already mounted?!" table[None] = backend def resolve_to_backend(self, filepath, extra_info = False): @@ -272,19 +273,19 @@ class MountStorage(StorageInterface): else: return (res_be, res_fp) - def __repr__(self, table = None, indent = ""): + def __repr__(self, table = None, indent = []): res = [] if table is None: res.append("MountStorage<") table = self.mounttab v = table.get(None) if v: - res.append(indent + "On this level: " + repr(v)) + res.append(" " * len(indent) + repr(indent) + ": " + repr(v)) for k, v in table.iteritems(): if k == None: continue - res.append(indent + repr(k) + ":") - res += self.__repr__(v, indent + " ") + res.append(" " * len(indent) + repr(k) + ":") + res += self.__repr__(v, indent + [k]) if table is self.mounttab: res.append(">") return "\n".join(res) |