Verified Commit f6c4e6ff authored by Peter Stanko's avatar Peter Stanko
Browse files

Fixed uco extraction in ldap

parent c0f7981e
Loading
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -50,10 +50,11 @@ def ldap_get_uco_for_user(username: str) -> int:

    """
    user_dict = ldap_wrapper.search_dict(f"uid={username},ou=People")
    log.debug(f"[LDAP] User ({username}): {user_dict}")
    if not user_dict:
        return 0
    desc = user_dict[0]['description']
    uco = [str(u) for u in desc if str(u).startswith('UCO=')]
    uco = [u.decode('utf-8') for u in desc if u.decode('utf-8').startswith('UCO=')]
    if not uco:
        return 0
    return int(uco[0][4:])
+4 −2
Original line number Diff line number Diff line
@@ -52,12 +52,14 @@ class LDAPWrapper(object):
        Returns(LDAPObject): LDAP Object instance
        """
        if not self._ldap_client and self.is_enabled:
            self._ldap_client = ldap.initialize(self.ldap_url)
            self._ldap_client = ldap.initialize(self.ldap_url, bytes_mode=False)
        return self._ldap_client

    def search(self, selector: str):
        selector = selector + self.selector_base
        return self.ldap.search_s(selector, ldap.SCOPE_SUBTREE, "objectclass=*")
        result = self.ldap.search_s(selector, ldap.SCOPE_SUBTREE, "objectclass=*")
        log.debug(f"[LDAP] Search ({selector}): {result}")
        return result

    def search_dict(self, *args, **kwargs):
        l_res = self.search(*args, **kwargs)