MountStorage: Some small fixups/changes.

1) A bit more assert.

2) Change __repr__ to use lists for the recursion parameter.
This commit is contained in:
Elrond 2011-07-23 15:27:02 +02:00
parent 68cf996c1d
commit 93b2796c7e

View File

@ -237,6 +237,7 @@ class MountStorage(StorageInterface):
for part in rem_2: for part in rem_2:
table[part] = {} table[part] = {}
table = table[part] table = table[part]
assert not table.has_key(None), "Huh? Already mounted?!"
table[None] = backend table[None] = backend
def resolve_to_backend(self, filepath, extra_info = False): def resolve_to_backend(self, filepath, extra_info = False):
@ -272,19 +273,19 @@ class MountStorage(StorageInterface):
else: else:
return (res_be, res_fp) return (res_be, res_fp)
def __repr__(self, table = None, indent = ""): def __repr__(self, table = None, indent = []):
res = [] res = []
if table is None: if table is None:
res.append("MountStorage<") res.append("MountStorage<")
table = self.mounttab table = self.mounttab
v = table.get(None) v = table.get(None)
if v: if v:
res.append(indent + "On this level: " + repr(v)) res.append(" " * len(indent) + repr(indent) + ": " + repr(v))
for k, v in table.iteritems(): for k, v in table.iteritems():
if k == None: if k == None:
continue continue
res.append(indent + repr(k) + ":") res.append(" " * len(indent) + repr(k) + ":")
res += self.__repr__(v, indent + " ") res += self.__repr__(v, indent + [k])
if table is self.mounttab: if table is self.mounttab:
res.append(">") res.append(">")
return "\n".join(res) return "\n".join(res)