Kill mathsoclist

We can't reliably filter the membership list, because we don't know who has
paid the MathSOC fee. Better to leave MathSOC to do this. In the case that they
to not verify the list then mathsoclist puts us at a disadvantage, as other
clubs likely do not filter their lists.
This commit is contained in:
Michael Spang 2009-09-10 18:59:20 -04:00
parent c51107ae2b
commit 15bbfd0e07
4 changed files with 1 additions and 36 deletions

View File

@ -5,14 +5,12 @@ 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

@ -1,31 +0,0 @@
from ceo import members, terms
import re
class MathSocList:
help = '''
mathsoclist [term]
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.
'''
def main(self, args):
regex = re.compile(members.cfg['mathsoc_regex'])
noinc = members.cfg['mathsoc_dont_count'].split(' ')
if len(args) == 1:
mlist = members.list_term(args[0])
else:
mlist = members.list_term(terms.current())
dns = mlist.keys()
dns.sort()
for dn in dns:
member = mlist[dn]
if member['uid'][0] in 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]
)

View File

@ -25,7 +25,7 @@ def configure():
string_fields = [ 'username_regex', 'shells_file', 'ldap_server_url',
'ldap_users_base', 'ldap_groups_base', 'ldap_sasl_mech', 'ldap_sasl_realm',
'expire_hook', 'mathsoc_regex', 'mathsoc_dont_count' ]
'expire_hook' ]
numeric_fields = [ 'min_password_length' ]
# read configuration file

View File

@ -46,5 +46,3 @@ expire_hook = "/etc/csc/spam/expired-account"
username_regex = "^[a-z][-a-z0-9]*$"
min_password_length = 4
shells_file = "/etc/shells"
mathsoc_regex = ".*(mat/|vpa/se|computer science|math).*"
mathsoc_dont_count = "cpdohert dlgawley dtbartle mbiggs saforres tmyklebu mgregson rridge dbelange"