equal
deleted
inserted
replaced
76 class lazymap: |
76 class lazymap: |
77 def __init__(self, parser): |
77 def __init__(self, parser): |
78 self.p = parser |
78 self.p = parser |
79 def load(self, key): |
79 def load(self, key): |
80 n = self.p.data.find(key) |
80 n = self.p.data.find(key) |
81 if n < 0: raise KeyError(key) |
81 if n < 0: raise KeyError("node " + hex(key)) |
82 pos = n / self.p.s |
82 pos = n / self.p.s |
83 self.p.load(pos) |
83 self.p.load(pos) |
84 def __contains__(self, key): |
84 def __contains__(self, key): |
85 try: |
85 try: |
86 self[key] |
86 self[key] |
89 return False |
89 return False |
90 def __getitem__(self, key): |
90 def __getitem__(self, key): |
91 try: |
91 try: |
92 return self.p.map[key] |
92 return self.p.map[key] |
93 except KeyError: |
93 except KeyError: |
94 self.load(key) |
94 try: |
95 return self.p.map[key] |
95 self.load(key) |
|
96 return self.p.map[key] |
|
97 except KeyError: |
|
98 raise KeyError("node " + hex(key)) |
96 def __setitem__(self, key, val): |
99 def __setitem__(self, key, val): |
97 self.p.map[key] = val |
100 self.p.map[key] = val |
98 |
101 |
99 class revlog: |
102 class revlog: |
100 def __init__(self, opener, indexfile, datafile): |
103 def __init__(self, opener, indexfile, datafile): |