#!/usr/bin/python
import re, time, string, sys

def pop_dict(d, mbox_dir, ym, srch_str):
    fn = '%s/%s/mbox' % (mbox_dir, ym)
    srch_ptrn = re.compile(srch_str)
    f = open(fn, 'r')
    lines = f.readlines()
    f.close()
    for l in lines:
        m = l[:-1]
        mo = srch_ptrn.search(m)
        if mo:
            w = l.split(' ')
            if w[4] == '': del w[4]
            m = int(w[4])
            d[m] = d[m] + 1
    return d

###

def dump_dict(d, fn, lt, curr_mon):
    f = open(fn+'.dat', 'w')
    for i in range(31):
        if (d[i+1] != 0):
            if curr_mon and (i+1 == lt[2]):
                sys.stdout.write('%s %d %d\n'%(fn, i+1, d[i+1]))
            else:
                f.write('%d %d\n'%(i+1, d[i+1]))
    f.close()

###

lt = time.localtime()

iparts = sys.argv[1].split('-')
curr_mon = (int(iparts[0]) == lt[0]) and (int(iparts[1]) == lt[1])

# SWEN
d = {}
for i in range(31): d[i+1] = 0

d = pop_dict(d, 'evolution/local/System/subfolders/Root/subfolders/Oversized/subfolders', sys.argv[1], "^From me\@haggis")

dump_dict(d, 'swen', lt, curr_mon)

# SPAM, pt 1
d = {}
for i in range(31): d[i+1] = 0
d = pop_dict(d, 'evolution/local/System/subfolders/Spam/subfolders', sys.argv[1], '^From postmaster\@haggis')

# SPAM, pt 2
d = pop_dict(d, 'evolution/local/System/subfolders/Spam/subfolders/Uncaught/subfolders', sys.argv[1], "^From ")

dump_dict(d, 'spam', lt, curr_mon)

