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
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):