diff --git a/ceo/console/mathsoclist.py b/ceo/console/mathsoclist.py index 548e089..1f067aa 100644 --- a/ceo/console/mathsoclist.py +++ b/ceo/console/mathsoclist.py @@ -9,20 +9,18 @@ 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. ''' - regex = ".*(mat/|vpa/se|computer science|math).*" - noinc = [ "dtbartle", "dlgawley", "cpdohert", "mbiggs", "tmyklebu" ] - def main(self, args): - regex = re.compile(self.regex) + regex = re.compile(members.cfg['mathsoc_regex']) + noinc = members.cfg['mathsoc_dont_count'].split(' ') if len(args) == 1: - mlist = members.list_term(args[0]) + mlist = members.list_term(args[0]) else: - mlist = members.list_term(terms.current()) + 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: + if member['uid'][0] in noinc: continue program = member.get('program', [''])[0] if regex.match(program.lower()) != None: diff --git a/ceo/members.py b/ceo/members.py index d5bbe28..ac81f14 100644 --- a/ceo/members.py +++ b/ceo/members.py @@ -26,7 +26,8 @@ def configure(): string_fields = [ 'username_regex', 'shells_file', 'server_url', 'users_base', 'groups_base', 'sasl_mech', 'sasl_realm', 'admin_bind_keytab', 'admin_bind_userid', 'realm', - 'admin_principal', 'admin_keytab', 'expired_account_email' ] + 'admin_principal', 'admin_keytab', 'expired_account_email', + 'mathsoc_regex', 'mathsoc_dont_count' ] numeric_fields = [ 'min_password_length' ] # read configuration file