equal
deleted
inserted
replaced
18 e['paths'] = [] |
18 e['paths'] = [] |
19 paths = entry.getElementsByTagName('paths') |
19 paths = entry.getElementsByTagName('paths') |
20 if paths: |
20 if paths: |
21 paths = paths[0] |
21 paths = paths[0] |
22 for p in paths.getElementsByTagName('path'): |
22 for p in paths.getElementsByTagName('path'): |
23 action = p.getAttribute('action') |
23 action = p.getAttribute('action').encode('utf-8') |
24 path = xmltext(p) |
24 path = xmltext(p).encode('utf-8') |
25 frompath = p.getAttribute('copyfrom-path') |
25 frompath = p.getAttribute('copyfrom-path').encode('utf-8') |
26 fromrev = p.getAttribute('copyfrom-rev') |
26 fromrev = p.getAttribute('copyfrom-rev').encode('utf-8') |
27 e['paths'].append((path, action, frompath, fromrev)) |
27 e['paths'].append((path, action, frompath, fromrev)) |
28 return e |
28 return e |
29 |
29 |
30 def parselog(data): |
30 def parselog(data): |
31 entries = [] |
31 entries = [] |
41 fp = sys.stdout |
41 fp = sys.stdout |
42 for e in entries: |
42 for e in entries: |
43 for k in ('revision', 'author', 'msg'): |
43 for k in ('revision', 'author', 'msg'): |
44 fp.write(('%s: %s\n' % (k, e[k])).encode('utf-8')) |
44 fp.write(('%s: %s\n' % (k, e[k])).encode('utf-8')) |
45 for path, action, fpath, frev in sorted(e['paths']): |
45 for path, action, fpath, frev in sorted(e['paths']): |
46 frominfo = '' |
46 frominfo = b'' |
47 if frev: |
47 if frev: |
48 frominfo = ' (from %s@%s)' % (fpath, frev) |
48 frominfo = b' (from %s@%s)' % (fpath, frev) |
49 p = ' %s %s%s\n' % (action, path, frominfo) |
49 p = b' %s %s%s\n' % (action, path, frominfo) |
50 fp.write(p.encode('utf-8')) |
50 fp.write(p) |
51 |
51 |
52 if __name__ == '__main__': |
52 if __name__ == '__main__': |
53 data = sys.stdin.read() |
53 data = sys.stdin.read() |
54 entries = parselog(data) |
54 entries = parselog(data) |
55 printentries(entries) |
55 printentries(entries) |