diff options
author | Lars Wirzenius <liw@liw.fi> | 2010-12-15 20:05:01 +0000 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2010-12-15 20:05:01 +0000 |
commit | a62138b50d2be793976cc98150d6c88edfb56f34 (patch) | |
tree | 3615b7530d23cde5d930c1433f134811971dd9ea | |
parent | 1b3e4c946c131a2f38994794c9441ea6c67f59b1 (diff) | |
download | obnam-a62138b50d2be793976cc98150d6c88edfb56f34.tar.gz |
Cache all lookups done in ClientMetadataTree.find_generations.
Previously, only the matched was cached.
-rw-r--r-- | obnamlib/clientmetadatatree.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/obnamlib/clientmetadatatree.py b/obnamlib/clientmetadatatree.py index b3d633cd..e415545b 100644 --- a/obnamlib/clientmetadatatree.py +++ b/obnamlib/clientmetadatatree.py @@ -154,8 +154,9 @@ class ClientMetadataTree(obnamlib.StoreTree): if self.forest: key = self.genkey(self.GEN_ID) for t in self.forest.trees: - if self._lookup_int(t, key) == genid: - self.known_generations[genid] = t + t_genid = self._lookup_int(t, key) + self.known_generations[t_genid] = t + if t_genid == genid: return t raise KeyError('Unknown generation %s' % genid) |