Add ipv6.py script for tpo/metrics/trac#40002.
[tor-metrics-tasks.git] / task-7009 / md-kludge.py
blob6f18c8b87f32920dc85882c5e5fcc5a0421f9b73
1 #!/usr/bin/python
3 import sys
4 import re
5 import os
7 def read_table(fn):
8 p = re.compile(r'^([^ ]*) sha256=([^ \n]*)')
9 bad = 0
10 t = {}
11 for line in open(fn):
12 m = p.match(line)
13 if not m:
14 bad += 1
15 continue
16 t[m.group(1)] = m.group(2)
17 print bad, "bad entries in", fn
18 return t
21 def process(fn, t):
22 tmp = fn+".tmp"
23 inp = open(fn, 'r')
24 out = open(tmp, 'w')
25 h = m = 0
26 for line in inp:
27 if line.startswith('r '):
28 r = line.split()
29 desc_id = r[3]
30 del r[3]
31 print >>out, " ".join(r)
32 try:
33 md_id = t[desc_id]
34 h += 1
35 except KeyError:
36 md_id = desc_id #kluuuuuuuuudge!!!!!
37 m += 1
38 print >>out, "m",md_id
39 else:
40 out.write(line)
41 inp.close()
42 out.close()
43 os.rename(tmp, fn)
44 return h, m
46 table = read_table("table.txt")
48 hit = 0
49 miss = 0
51 for fn in sys.argv[1:]:
52 h,m = process(fn, table)
53 hit += h
54 miss += m
56 print hit, miss