From d1726c47dccc7a7c7db1f038bc30a5712bb70153 Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Tue, 29 Dec 2009 04:43:42 -0500 Subject: Adapted BugDir.duplicate_bugdir() to use revision-dependend Storage.children() --- libbe/bugdir.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) 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) -- cgit