From 18209c789687baea73dc50cde3b76d56ed957744 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 7 May 2019 11:11:31 +0100 Subject: [PATCH] accounts: Simplify LDAP search code Signed-off-by: Michael Tremer --- src/backend/accounts.py | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/backend/accounts.py b/src/backend/accounts.py index 4e6d892a..4707aaa7 100644 --- a/src/backend/accounts.py +++ b/src/backend/accounts.py @@ -63,13 +63,8 @@ class Accounts(Object): return results def _search(self, query, attrlist=None, limit=0): - accounts = [] - for dn, attrs in self._query(query, attrlist=attrlist, limit=limit): - account = Account(self.backend, dn, attrs) - accounts.append(account) - - return accounts + yield Account(self.backend, dn, attrs) def search(self, query): # Search for exact matches @@ -86,11 +81,10 @@ class Accounts(Object): return sorted(accounts) def _search_one(self, query): - result = self._search(query, limit=1) - assert len(result) <= 1 + results = self._search(query, limit=1) - if result: - return result[0] + for result in results: + return result def uid_exists(self, uid): if self.get_by_uid(uid): -- 2.47.3