equal
deleted
inserted
replaced
80 if n < 0: raise KeyError(key) |
80 if n < 0: raise KeyError(key) |
81 pos = n / self.p.s |
81 pos = n / self.p.s |
82 self.p.load(pos) |
82 self.p.load(pos) |
83 def __contains__(self, key): |
83 def __contains__(self, key): |
84 try: |
84 try: |
85 self.p.map[key] |
85 self[key] |
86 return True |
86 return True |
87 except KeyError: |
87 except KeyError: |
88 return False |
88 return False |
89 def __getitem__(self, key): |
89 def __getitem__(self, key): |
90 try: |
90 try: |
432 # loop through our set of deltas |
432 # loop through our set of deltas |
433 pos = 0 |
433 pos = 0 |
434 while pos < len(data): |
434 while pos < len(data): |
435 l, node, p1, p2, cs = struct.unpack(">l20s20s20s20s", |
435 l, node, p1, p2, cs = struct.unpack(">l20s20s20s20s", |
436 data[pos:pos+84]) |
436 data[pos:pos+84]) |
|
437 if node in self.nodemap: |
|
438 raise "already have %s" % hex(node[:4]) |
437 link = linkmapper(cs) |
439 link = linkmapper(cs) |
438 delta = data[pos + 84:pos + l] |
440 delta = data[pos + 84:pos + l] |
439 pos += l |
441 pos += l |
440 |
442 |
441 # full versions are inserted when the needed deltas become |
443 # full versions are inserted when the needed deltas become |