aboutsummaryrefslogtreecommitdiffstats
path: root/server/user.py
diff options
context:
space:
mode:
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)