summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLV-426 <lv-426@taproot.org.il>2015-02-01 16:29:35 +0200
committerLV-426 <lv-426@taproot.org.il>2015-02-01 16:29:35 +0200
commitf13018655eb1288806dab82e8c3522a5fc3498b0 (patch)
treec9809eccb092f81b51550f2acd74656c401e5748 /src
parent6e252f6b6d9b0da74172495cd4f3e52288727509 (diff)
rz_user_db: use User_Account class
Diffstat (limited to 'src')
-rw-r--r--src/server/rz_user_db.py40
1 files changed, 28 insertions, 12 deletions
diff --git a/src/server/rz_user_db.py b/src/server/rz_user_db.py
index 9db5ab72..493fa69d 100644
--- a/src/server/rz_user_db.py
+++ b/src/server/rz_user_db.py
@@ -1,7 +1,23 @@
+import copy
import logging
import shelve
import sys
+
+class User_Account(object):
+
+ def __init__(self, first_name,
+ last_name,
+ rz_username,
+ email_address,
+ role_set=[]):
+
+ self.first_name = first_name
+ self.last_name = last_name
+ self.rz_username = rz_username
+ self.email_address = email_address
+ self.role_set = role_set
+
class User_DB(object):
"""
Simple user database:
@@ -44,8 +60,8 @@ class User_DB(object):
- sanitize sensitive data
"""
- u_ret = u.copy()
- del u_ret['hpasswd']
+ u_ret = copy.copy(u)
+ del u_ret.pw_hash
return uid, u_ret
def lookup_user__by_uid(self, uid):
@@ -61,26 +77,26 @@ class User_DB(object):
def lookup_user__by_email_address(self, email_address):
for uid, u in self.persistent_data_store.items():
- if u['email_address'] == email_address:
+ if u.email_address == email_address:
return self.__process_return_value(uid, u)
raise Exception('no user found with email_address=%s' % (email_address))
- def user_add(self, user_name, email_address):
+ def user_add(self, first_name, last_name, rz_username, email_address):
"""
@return: the string uid of the newly added user
"""
# apply unique email constraint
for uid, u in self.persistent_data_store.items():
- if u['email_address'] == email_address:
+ if u.email_address == email_address:
raise Exception('existing user with identical email address: uid: %s ' % (uid))
uid = str(len(self.persistent_data_store) + 1)
- u = {'user_name': user_name,
- 'email_address': email_address,
- 'hpasswd': None,
- 'role_set': []
- }
+ u = User_Account(first_name=first_name,
+ last_name=last_name,
+ rz_username=rz_username,
+ email_address=email_address,
+ role_set=[])
self.persistent_data_store[uid] = u
return uid
@@ -90,7 +106,7 @@ class User_DB(object):
def user_add_role(self, uid, role):
u = self.persistent_data_store[uid]
- u['role_set'].append(role)
+ u.role_set.append(role)
self.persistent_data_store[uid] = u
def user_has_role(self, uid, role):
@@ -99,7 +115,7 @@ class User_DB(object):
"""
u = self.persistent_data_store[uid]
- return role in u['role_set']
+ return role in u.role_set
def shutdown(self):
self.persistent_data_store.close()