diff options
author | Lars Wirzenius <liw@liw.fi> | 2010-12-07 11:31:17 +0000 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2010-12-07 11:31:17 +0000 |
commit | 2bdb0fac50badb82ebb5f57e3bb5ed107d8ae1d4 (patch) | |
tree | d65355b1e7c549ec530eca75345c966845737579 | |
parent | 53da02102f72ed4f7237ba31827d044d6bb5aa69 (diff) | |
download | obnam-2bdb0fac50badb82ebb5f57e3bb5ed107d8ae1d4.tar.gz |
Change ChecksumTree to use new StoreTree stuff.
-rw-r--r-- | obnamlib/checksumtree.py | 26 |
1 files changed, 9 insertions, 17 deletions
diff --git a/obnamlib/checksumtree.py b/obnamlib/checksumtree.py index 3e2a6daa..0b5d6d87 100644 --- a/obnamlib/checksumtree.py +++ b/obnamlib/checksumtree.py @@ -42,38 +42,30 @@ class ChecksumTree(obnamlib.StoreTree): return struct.unpack(self.fmt, key) def add(self, checksum, chunk_id, client_id): - self.require_forest() + self.start_changes() key = self.key(checksum, chunk_id, client_id) - if self.forest.trees: - t = self.forest.trees[-1] - else: - t = self.forest.new_tree() - t.insert(key, '') + self.tree.insert(key, '') def find(self, checksum): - if self.init_forest() and self.forest.trees: - t = self.forest.trees[-1] + if self.init_forest() and self.tree: minkey = self.key(checksum, 0, 0) maxkey = self.key(checksum, obnamlib.MAX_ID, obnamlib.MAX_ID) - pairs = t.lookup_range(minkey, maxkey) + pairs = self.tree.lookup_range(minkey, maxkey) return [self.unkey(key)[1] for key, value in pairs] else: return [] def remove(self, checksum, chunk_id, client_id): - self.require_forest() - if self.forest.trees: - t = self.forest.trees[-1] - key = self.key(checksum, chunk_id, client_id) - t.remove_range(key, key) + self.start_changes() + key = self.key(checksum, chunk_id, client_id) + self.tree.remove_range(key, key) def chunk_is_used(self, checksum, chunk_id): '''Is a given chunk used by anyone?''' - if self.init_forest() and self.forest.trees: - t = self.forest.trees[-1] + if self.init_forest() and self.tree: minkey = self.key(checksum, chunk_id, 0) maxkey = self.key(checksum, chunk_id, obnamlib.MAX_ID) - return len(t.lookup_range(minkey, maxkey)) > 0 + return len(self.tree.lookup_range(minkey, maxkey)) > 0 else: return False |