From: W. Trevor King Date: Tue, 29 Dec 2009 09:43:42 +0000 (-0500) Subject: Adapted BugDir.duplicate_bugdir() to use revision-dependend Storage.children() X-Git-Tag: 1.0.0~59^2~52^2~26 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=d1726c47dccc7a7c7db1f038bc30a5712bb70153;p=be.git Adapted BugDir.duplicate_bugdir() to use revision-dependend Storage.children() --- diff --git a/libbe/bugdir.py b/libbe/bugdir.py index 50dc8ba..cec1e3b 100644 --- a/libbe/bugdir.py +++ b/libbe/bugdir.py @@ -300,17 +300,23 @@ class BugDir (list, settings_object.SavedSettingsObject): raise libbe.storage.InvalidStorageVersion(storage_version) s = copy.deepcopy(self.storage) s.writeable = False - class RevisionedStorageGet (object): + class RevisionedStorage (object): def __init__(self, storage, default_revision): self.s = storage self.sget = self.s.get + self.schildren = self.s.children self.r = default_revision def get(self, *args, **kwargs): if not 'revision' in kwargs or kwargs['revision'] == None: kwargs['revision'] = self.r return self.sget(*args, **kwargs) - rsg = RevisionedStorageGet(s, revision) - s.get = rsg.get + def children(self, *args, **kwargs): + if not 'revision' in kwargs or kwargs['revision'] == None: + kwargs['revision'] = self.r + return self.schildren(*args, **kwargs) + rs = RevisionedStorage(s, revision) + s.get = rs.get + s.children = rs.children dbd = BugDir(s, from_storage=True) # dbd = copy.copy(self) # dbd.storage = copy.copy(self.storage)