tests/svnxml.py
changeset 41326 7c54357be2ae
parent 40216 c17d73bf6a4d
child 43076 2372284d9457
equal deleted inserted replaced
41325:eff0a7d3229c 41326:7c54357be2ae
    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)