From 606420c2418eda560a6e7fb855216c2f2b9b9a0b Mon Sep 17 00:00:00 2001 From: Thibaut Horel Date: Wed, 10 Nov 2010 02:34:47 +0100 Subject: Handle user unsubscription --- server.py | 3 +++ user.py | 9 +++++++-- 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 -- cgit v1.2.3-70-g09d2