import os import os.path import shutil import hashlib import logging logger = logging.getLogger(__name__) from object import ObjectWriter 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 def registered(self, jid): return os.path.exists(self.root + '/' + jid) def unregister(self, jid): shutil.rmtree(self.root + '/' + jid) def get_user_list(self): return os.listdir(self.root) def register(self, jid, registration): username = registration['username'] def filter_usernames(user): return user != jid and self.users[user]['username'] == username conflicts = filter(filter_usernames, self.users.keys()) if conflicts: return False self.users[jid] = registration return True class User: def __init__(self, name): self.name = name self.rootObject = hashlib.sha1(name).hexdigest()