Comments
Patch
@@ -215,6 +215,14 @@
return int(hex_digit, 16)
+class Block(dict):
+ """represent a block of the Trie
+
+ contains up to 16 entry indexed from 0 to 15"""
+
+ pass
+
+
def _build_trie(index):
"""build a nodemap trie
@@ -223,7 +231,7 @@
Each block is a dictionnary with key in `[0, 15]`. Value are either
another block or a revision number.
"""
- root = {}
+ root = Block()
for rev in range(len(index)):
hex = nodemod.hex(index[rev][7])
_insert_into_block(index, 0, root, rev, hex)
@@ -252,7 +260,7 @@
other_hex = nodemod.hex(index[entry][7])
other_rev = entry
while current_hex[level] == other_hex[level]:
- new = {}
+ new = Block()
block[_to_int(current_hex[level])] = new
block = new
level += 1