aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThibaut Horel <thibaut.horel@gmail.com>2010-11-10 02:34:47 +0100
committerThibaut Horel <thibaut.horel@gmail.com>2010-11-10 02:34:47 +0100
commit606420c2418eda560a6e7fb855216c2f2b9b9a0b (patch)
tree14dab0ad9dabc014e8e935e8ed2aa328199da6d3
parent1081ae523c47a94bcb1f7c53901114710949d188 (diff)
downloadalias-606420c2418eda560a6e7fb855216c2f2b9b9a0b.tar.gz
Handle user unsubscription
-rw-r--r--server.py3
-rw-r--r--user.py9
2 files changed, 10 insertions, 2 deletions
diff --git a/server.py b/server.py
index e3aedd2..21c4929 100644
--- a/server.py
+++ b/server.py
@@ -26,6 +26,9 @@ class ObjectComponent(ComponentXMPP):
self.sendPresenceSubscription(pto=userJID, ptype="subscribed")
self.sendPresence(pto = userJID)
self.sendPresenceSubscription(pto=userJID, ptype="subscribe")
+ if subscription["type"] == "unsubscribe" :
+ userJID = subscription["from"].full
+ self.userHandler.unregister(userJID)
def presenceProbe(self, event):
self.sendPresence(pto = event["from"].full)
diff --git a/user.py b/user.py
index 1cf0ec8..bb4e262 100644
--- a/user.py
+++ b/user.py
@@ -1,16 +1,21 @@
import os
import os.path
+import shutil
class UserHandler :
def __init__(self,root):
self.root = root
def register(self,name):
- if not os.path.exists(name) :
- os.mkdir(self.root+'/'+name)
+ userDir = self.root+'/'+name
+ if not os.path.exists(userDir) :
+ os.mkdir(userDir)
def registered(self,name):
return os.path.exists(self.root+'/'+name)
+ def unregister(self,name):
+ shutil.rmtree(self.root+'/'+name)
+
def getUserList(self):
return os.listdir(self.root) \ No newline at end of file