diff options
Diffstat (limited to 'server/user.py')
| -rw-r--r-- | server/user.py | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/server/user.py b/server/user.py index 2491164..3fbf55c 100644 --- a/server/user.py +++ b/server/user.py @@ -11,22 +11,35 @@ class UserHandler: def __init__(self, root): self.root = root - def register(self, name): - userDir = self.root + '/' + name + def register(self, jid, registration): + userDir = self.root + '/' + jid if os.path.exists(userDir): - logger.error("User {} path already exists".format(name)) + logger.error("User {} path already exists".format(jid)) os.mkdir(userDir) - ObjectWriter(name) + ObjectWriter(jid) + return True - def registered(self, name): - return os.path.exists(self.root + '/' + name) + def registered(self, jid): + return os.path.exists(self.root + '/' + jid) - def unregister(self, name): - shutil.rmtree(self.root + '/' + name) + 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): |
