diff options
Diffstat (limited to 'server/user.py')
| -rw-r--r-- | server/user.py | 50 |
1 files changed, 19 insertions, 31 deletions
diff --git a/server/user.py b/server/user.py index 3fbf55c..c6e6e87 100644 --- a/server/user.py +++ b/server/user.py @@ -4,44 +4,32 @@ import shutil import hashlib import logging logger = logging.getLogger(__name__) -from object import ObjectWriter +from object import * -class UserHandler: - - def __init__(self, root): - self.root = root - def register(self, jid, registration): - userDir = self.root + '/' + jid - if os.path.exists(userDir): - logger.error("User {} path already exists".format(jid)) - os.mkdir(userDir) - ObjectWriter(jid) - return True +class User: - def registered(self, jid): - return os.path.exists(self.root + '/' + jid) + def __init__(self, jid): + self.jid = jid + self.hash = hashlib.sha1(jid).hexdigest() - def unregister(self, jid): - shutil.rmtree(self.root + '/' + jid) + def register(self, registration): + ObjectWriter(self.hash).create_root_object(self.jid, registration) - def get_user_list(self): - return os.listdir(self.root) + def get_registration(self): + ObjectReader(self.hash).get_content(self.jid) -def register(self, jid, registration): - username = registration['username'] + def registered(self): + return Object(self.hash).exists() - def filter_usernames(user): - return user != jid and self.users[user]['username'] == username + def unregister(self, jid): + ObjectWriter(self.jid, self.hash).delete() + shutil.rmtree(self.root + '/' + jid) - conflicts = filter(filter_usernames, self.users.keys()) - if conflicts: - return False +class UserHandler: - self.users[jid] = registration - return True -class User: + def __init__(self,root): + self.root = root - def __init__(self, name): - self.name = name - self.rootObject = hashlib.sha1(name).hexdigest() + def get_user_list(self): + return os.listdir(self.root) |
