X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Futils.py;h=bc524aa9fea6caa9bee29211a07c47f6ec5927ec;hb=01ebf813c5f67f5b6e83e055a803784548a78603;hp=899c16f4677e8b2d29a4523d5bed68496e4e2199;hpb=b1aa56396abf360a72459602056d68c503396f8d;p=dak.git diff --git a/daklib/utils.py b/daklib/utils.py index 899c16f4..bc524aa9 100755 --- a/daklib/utils.py +++ b/daklib/utils.py @@ -1424,6 +1424,30 @@ def get_logins_from_ldap(fingerprint='*'): ################################################################################ +def get_users_from_ldap(): + """retrieve login and user names from LDAP""" + + LDAPDn = Cnf['Import-LDAP-Fingerprints::LDAPDn'] + LDAPServer = Cnf['Import-LDAP-Fingerprints::LDAPServer'] + l = ldap.open(LDAPServer) + l.simple_bind_s('','') + Attrs = l.search_s(LDAPDn, ldap.SCOPE_ONELEVEL, + '(uid=*)', ['uid', 'cn', 'mn', 'sn']) + users = {} + for elem in Attrs: + elem = elem[1] + name = [] + for k in ('cn', 'mn', 'sn'): + try: + if elem[k][0] != '-': + name.append(elem[k][0]) + except KeyError: + pass + users[' '.join(name)] = elem['uid'][0] + return users + +################################################################################ + def clean_symlink (src, dest, root): """ Relativize an absolute symlink from 'src' -> 'dest' relative to 'root'.