pyceo/ceo/console/mathsoclist.py

32 lines
875 B
Python
Raw Normal View History

2008-04-01 22:12:00 -04:00
from ceo import members, terms
import re
class MathSocList:
help = '''
2008-04-08 19:02:00 -04:00
mathsoclist [term]
2008-04-01 22:12:00 -04:00
2008-04-08 19:02:00 -04:00
Displays a list of members for a term that are likely to be paying MathSoc
members; defaults to the current term if term is not given.
2008-04-01 22:12:00 -04:00
'''
def main(self, args):
regex = re.compile(members.cfg['mathsoc_regex'])
noinc = members.cfg['mathsoc_dont_count'].split(' ')
2008-04-08 19:02:00 -04:00
if len(args) == 1:
mlist = members.list_term(args[0])
2008-04-08 19:02:00 -04:00
else:
mlist = members.list_term(terms.current())
2008-04-01 22:12:00 -04:00
dns = mlist.keys()
dns.sort()
for dn in dns:
member = mlist[dn]
if member['uid'][0] in noinc:
2008-04-01 22:12:00 -04:00
continue
program = member.get('program', [''])[0]
if regex.match(program.lower()) != None:
print '%s %s %s' % (
member['uid'][0].ljust(12),
member['cn'][0].ljust(30),
member.get('program', [''])[0]
)