Add mathsoclist command

This commit is contained in:
David Bartley 2008-04-01 22:12:00 -04:00
parent 755d835eec
commit fdcff72d83
2 changed files with 31 additions and 0 deletions

View File

@ -5,12 +5,14 @@ from ceo.console.memberlist import MemberList
from ceo.console.updateprograms import UpdatePrograms
from ceo.console.expiredaccounts import ExpiredAccounts
from ceo.console.inactive import Inactive
from ceo.console.mathsoclist import MathSocList
commands = {
'memberlist' : MemberList(),
'updateprograms' : UpdatePrograms(),
'expiredaccounts' : ExpiredAccounts(),
'inactive': Inactive(),
'mathsoclist' : MathSocList(),
}
help_opts = [ '--help', '-h' ]

View File

@ -0,0 +1,29 @@
from ceo import members, terms
import re
class MathSocList:
help = '''
mathsoclist
Prints a current list of members that are likely to be paying MathSoc members.
'''
regex = ".*(mat/|vpa/se|computer science|math).*"
noinc = [ "dtbartle", "dlgawley", "cpdohert", "mbiggs", "tmyklebu" ]
def main(self, args):
regex = re.compile(self.regex)
mlist = members.list_term(terms.current())
dns = mlist.keys()
dns.sort()
for dn in dns:
member = mlist[dn]
if member['uid'][0] in self.noinc:
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]
)