aboutsummaryrefslogtreecommitdiffstats
path: root/server/user.py
diff options
context:
space:
mode:
authorGuillaume Horel <guillaume.horel@gmail.com>2011-05-03 03:03:27 -0400
committerGuillaume Horel <guillaume.horel@gmail.com>2011-05-03 03:03:27 -0400
commit76ae36901e9fb7bd9cc07162afd05ba41242fc1c (patch)
tree3d18338c0527f523293d214d3fae08ab09147947 /server/user.py
parent1bf4b8e5506c1b76fa453e1ae645410a09934c76 (diff)
downloadalias-76ae36901e9fb7bd9cc07162afd05ba41242fc1c.tar.gz
More fixes for the alias registration.
- registration info saved on the hard drive - doesn't return registration info for an already registered user
Diffstat (limited to 'server/user.py')
-rw-r--r--server/user.py50
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)