diff options
| author | Guillaume Horel <guillaume.horel@gmail.com> | 2011-04-27 01:04:03 -0400 |
|---|---|---|
| committer | Guillaume Horel <guillaume.horel@gmail.com> | 2011-04-27 01:04:03 -0400 |
| commit | b38e784e1aeb0b3f3db4a8a33799c4bd94a5d10a (patch) | |
| tree | 6df5fa411b7db980869d259de4319f762baa705d /server/user.py | |
| parent | d045912cb5b4e49140514b7dbf2ca4bc5ca5098f (diff) | |
| download | alias-b38e784e1aeb0b3f3db4a8a33799c4bd94a5d10a.tar.gz | |
Preliminary work for in-band registration.
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): |
