diff options
| author | LV-426 <lv-426@taproot.org.il> | 2015-02-01 16:29:35 +0200 |
|---|---|---|
| committer | LV-426 <lv-426@taproot.org.il> | 2015-02-01 16:29:35 +0200 |
| commit | f13018655eb1288806dab82e8c3522a5fc3498b0 (patch) | |
| tree | c9809eccb092f81b51550f2acd74656c401e5748 /src | |
| parent | 6e252f6b6d9b0da74172495cd4f3e52288727509 (diff) | |
rz_user_db: use User_Account class
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/rz_user_db.py | 40 |
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() |
