def get_shell(userid): member = ldapi.lookup(ld, 'uid', userid, cfg['ldap_users_base']) if not member: raise NoSuchMember(userid) if 'loginShell' not in member: return return member['loginShell'][0]
def get_group(group): """ Look up group by groupname Returns a dictionary of group attributes """ return ldapi.lookup(ld, 'cn', group, cfg['ldap_groups_base'])
def group_members(group): """ Returns a list of group members """ group = ldapi.lookup(ld, 'cn', group, cfg['ldap_groups_base']) if group and 'uniqueMember' in group: r = re.compile('^uid=([^,]*)') return map(lambda x: r.match(x).group(1), group['uniqueMember']) return []
def get(userid): """ Look up attributes of a member by userid. Returns: a dictionary of attributes Example: get('mspang') -> { 'cn': [ 'Michael Spang' ], 'program': [ 'Computer Science' ], ... } """ return ldapi.lookup(ld, 'uid', userid, cfg['ldap_users_base'])