equal
deleted
inserted
replaced
277 b = self.map.keys() |
277 b = self.map.keys() |
278 b.sort() |
278 b.sort() |
279 blen = len(b) |
279 blen = len(b) |
280 |
280 |
281 for x in unknown: |
281 for x in unknown: |
282 bs = bisect.bisect(b, x) |
282 bs = bisect.bisect(b, "%s%s" % (x, '/')) |
283 if bs != 0 and b[bs-1] == x: |
|
284 ret[x] = self.map[x] |
|
285 continue |
|
286 while bs < blen: |
283 while bs < blen: |
287 s = b[bs] |
284 s = b[bs] |
288 if len(s) > len(x) and s.startswith(x): |
285 if len(s) > len(x) and s.startswith(x): |
289 if s[len(x)] == '/': |
286 ret[s] = self.map[s] |
290 ret[s] = self.map[s] |
|
291 else: |
287 else: |
292 break |
288 break |
293 bs += 1 |
289 bs += 1 |
294 return ret |
290 return ret |
295 |
291 |