def list_all(): """ Build a list of all members Returns: a list of member dictionaries Example: list_name('Spang'): -> { 'uid=mspang, ou=...': { 'cn': 'Michael Spang', ... }, ... ] """ members = ldapi.search(ld, cfg['ldap_users_base'], '(objectClass=member)') return dict([(member[0], member[1]) for member in members])
def list_name(name): """ Build a list of members with matching names. Parameters: name - the name to match members against Returns: a list of member dictionaries Example: list_name('Spang'): -> { 'uid=mspang, ou=...': { 'cn': 'Michael Spang', ... }, ... ] """ members = ldapi.search(ld, cfg['ldap_users_base'], '(&(objectClass=member)(cn~=%s))', [ name ]) return dict([(member[0], member[1]) for member in members])
def list_term(term): """ Build a list of members in a term. Parameters: term - the term to match members against Returns: a list of members Example: list_term('f2006'): -> { 'uid=mspang, ou=...': { 'cn': 'Michael Spang', ... }, 'uid=ctdalek, ou=...': { 'cn': 'Calum T. Dalek', ... }, ... } """ members = ldapi.search(ld, cfg['ldap_users_base'], '(&(objectClass=member)(term=%s))', [ term ]) return dict([(member[0], member[1]) for member in members])
def expired_accounts(): members = ldapi.search(ld, cfg['ldap_users_base'], '(&(objectClass=member)(!(|(term=%s)(nonMemberTerm=%s))))' % (terms.current(), terms.current())) return dict([(member[0], member[1]) for member in members])