From 9c346b3143433fa075973f9ea580c19becdbafa4 Mon Sep 17 00:00:00 2001 From: Thibaut Horel Date: Thu, 11 Nov 2010 10:31:42 +0100 Subject: When the component exits, send unavalaible status to all subscribed users Keyboard Interrupt (Ctrl-C) now works properly --- server.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'server.py') diff --git a/server.py b/server.py index 21c4929..c561193 100644 --- a/server.py +++ b/server.py @@ -1,6 +1,7 @@ from sleekxmpp.componentxmpp import ComponentXMPP from argparse import ArgumentParser from user import UserHandler +from sleekxmpp.xmlstream.xmlstream import XMLStream class ObjectComponent(ComponentXMPP): @@ -15,6 +16,11 @@ class ObjectComponent(ComponentXMPP): def start(self, event): for user in self.userHandler.getUserList() : self.sendPresence(pto = user) + + def disconnect(self, reconnect=False): + for user in self.userHandler.getUserList() : + self.sendPresence(pto = user, ptype = "unavailable") + XMLStream.disconnect(self, reconnect) def message(self, msg): msg.reply("Thanks for sending\n%(body)s" % msg).send() @@ -53,6 +59,8 @@ if __name__ == '__main__' : if component.connect() : print 'Component', args.name, 'connected to', args.host + ':' + str(args.port) - component.process() + component.process(False) else : print "Couldn't connect" + + -- cgit v1.2.3-70-g09d2