summaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
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):
"""