summaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorLV-426 <lv-426@taproot.org.il>2015-02-04 02:04:33 +0200
committerLV-426 <lv-426@taproot.org.il>2015-02-04 02:04:33 +0200
commit8ab6e90689679224c631c117ddc6de2b71f18cb9 (patch)
treeba90a61d51b2f4cc7c94284f349738c4f739498a /src/server
parent0531a517078c446de98ee15039ddf55f44a48876 (diff)
User_DB: add non filtering __lookup_user__by_email_address()
Diffstat (limited to 'src/server')
-rw-r--r--src/server/rz_user_db.py23
1 files changed, 17 insertions, 6 deletions
diff --git a/src/server/rz_user_db.py b/src/server/rz_user_db.py
index 493fa69d..36062278 100644
--- a/src/server/rz_user_db.py
+++ b/src/server/rz_user_db.py
@@ -64,8 +64,19 @@ class User_DB(object):
del u_ret.pw_hash
return uid, u_ret
- def lookup_user__by_uid(self, uid):
+ def __lookup_user__by_email_address(self, email_address):
+
+ # FIXME: avoid linear search
+ for uid, u in self.persistent_data_store.items():
+ if u.email_address == email_address:
+ return uid, u
+ raise Exception('no user found with email_address=%s' % (email_address))
+
+ def lookup_user__by_uid(self, uid):
+ """
+ @return: user record with pw entry removed
+ """
assert str == type(uid)
u = self.persistent_data_store.get(uid)
@@ -76,11 +87,11 @@ class User_DB(object):
return self.__process_return_value(uid, u)
def lookup_user__by_email_address(self, email_address):
- for uid, u in self.persistent_data_store.items():
- if u.email_address == email_address:
- return self.__process_return_value(uid, u)
-
- raise Exception('no user found with email_address=%s' % (email_address))
+ """
+ @return: user record with pw entry removed
+ """
+ uid, u = self.__lookup_user__by_email_address(email_address)
+ return self.__process_return_value(uid, u)
def user_add(self, first_name, last_name, rz_username, email_address):
"""