summaryrefslogtreecommitdiffstats
path: root/xmldiff.py
blob: 98125158e2e1c01a40f6dc66f0faf016cc20d2d5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/usr/bin/python

import xml.etree.ElementTree

ours = xml.etree.ElementTree.parse('ours.xml').getroot().find('events')
theirs = xml.etree.ElementTree.parse('theirs.xml').getroot().find('events')

ours_set = set([x.find('handle').text for x in ours.findall('event')])
theirs_set = set([x.find('handle').text for x in theirs.findall('event')])

only_ours = ours_set.difference(theirs_set)
only_theirs = theirs_set.difference(ours_set)

ev_diff = ours_set.symmetric_difference(theirs_set)
ev_intersection = ours_set.intersection(theirs_set)

print 'ours:'
print '  ' + str(len(ours)) + ' events in total'
print '  ' + str(len(only_ours)) + ' only here'

print 'theirs:'
print '  ' + str(len(theirs)) + ' events in total'
print '  ' + str(len(only_theirs)) + ' only here'

print 'in both: ' + str(len(ev_intersection))