aboutsummaryrefslogtreecommitdiffstats
path: root/server/user.py
diff options
context:
space:
mode:
authorGuillaume Horel <guillaume.horel@gmail.com>2011-04-27 01:04:03 -0400
committerGuillaume Horel <guillaume.horel@gmail.com>2011-04-27 01:04:03 -0400
commitb38e784e1aeb0b3f3db4a8a33799c4bd94a5d10a (patch)
tree6df5fa411b7db980869d259de4319f762baa705d /server/user.py
parentd045912cb5b4e49140514b7dbf2ca4bc5ca5098f (diff)
downloadalias-b38e784e1aeb0b3f3db4a8a33799c4bd94a5d10a.tar.gz
Preliminary work for in-band registration.
Diffstat (limited to 'server/user.py')
-rw-r--r--server/user.py29
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):