X-Git-Url: https://git.ucc.asn.au/?p=uccvend-vendserver.git;a=blobdiff_plain;f=sql-edition%2Fservers%2FLDAPConnector.py;h=8699fd2ba6f536d39efd434ca534c685bdad87e7;hp=60408d023a06236680d194310160fdc26b4217a8;hb=31c3aa4355f03930a68cf25a83c8160414249213;hpb=2a2caab39b8dc858641001acf096e53f90c992f7 diff --git a/sql-edition/servers/LDAPConnector.py b/sql-edition/servers/LDAPConnector.py index 60408d0..8699fd2 100644 --- a/sql-edition/servers/LDAPConnector.py +++ b/sql-edition/servers/LDAPConnector.py @@ -36,6 +36,22 @@ def get_uid(card_id): return results[0][1]['uidNumber'][0] +def get_uname(uid): + ldapconn = get_ldap_connection() + + basedn = 'ou=People,dc=ucc,dc=gu,dc=uwa,dc=edu,dc=au' + filter = ldap.filter.filter_format('(uidNumber=%s)', (uid, )) + attrs = ('uid',) + + results = ldapconn.search_st(basedn, ldap.SCOPE_SUBTREE, filter, attrs, timeout=LDAP_TIMEOUT) + + ldapconn.unbind() + + if len(results) != 1: + raise ValueError, "no username found for user id" + + return results[0][1]['uid'][0] + def set_card_id(uidNumber, card_id): ldapconn = get_ldap_connection()