#!/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)