#!/usr/bin/python

import discuss
import email.parser
import email.message
import email.utils
import sys


if len(sys.argv) < 3:
    print "Usage: fromfields server meeting_name"
    print ""
    print "For example, `fromfields menelaus larvnet'."

cl = discuss.Client(sys.argv[1])
mtg = discuss.Meeting(cl, '/usr/spool/discuss/%s' % sys.argv[2])
mtg.load_info()
trans = mtg.transactions()

froms = set()
for t in trans:
    parser = email.parser.Parser()
    msg = parser.parsestr(t.get_text())
    if msg['From']:
        name, addr = email.utils.parseaddr(msg['From'])
        froms.add(addr.lower())
        sys.stderr.write( "%i / %i\n" % (t.number, mtg.last) )

froml = list(froms)
froml.sort()
for addr in froml:
    print addr
