#!/usr/bin/python
import sys
import bz2
import re

p = re.compile(r' user="(?P<name>[^"]+)"')

users = dict()

sys.stderr.write("Read in\n");

fn = sys.argv[1]
decomp = bz2.BZ2File(fn, 'r')
for line in decomp:
    for m in p.finditer(line):
        name = m.group('name')
        try:
            users[name] += 1
        except KeyError:
            users[name] = 1
decomp.close()

sys.stderr.write("build list\n");
result = list()
for name, value in users.iteritems():
    result.append((value, name))
del users

sys.stderr.write("sort list\n");
result.sort()

for value, name in result:
    print value, ':', name
