From 1081ae523c47a94bcb1f7c53901114710949d188 Mon Sep 17 00:00:00 2001 From: Thibaut Horel Date: Wed, 10 Nov 2010 02:03:04 +0100 Subject: Make user class a userhandler class (relative to a user root directory) Add proper user registration to server component --- server.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'server.py') diff --git a/server.py b/server.py index 5591f24..e3aedd2 100644 --- a/server.py +++ b/server.py @@ -1,17 +1,20 @@ from sleekxmpp.componentxmpp import ComponentXMPP from argparse import ArgumentParser +from user import UserHandler class ObjectComponent(ComponentXMPP): - def __init__(self, jid, secret, server, port): + def __init__(self, jid, secret, server, port, root): ComponentXMPP.__init__(self, jid, secret, server, port) self.add_event_handler("session_start", self.start) self.add_event_handler("presence_probe", self.presenceProbe) self.add_event_handler("message", self.message) self.add_event_handler("changed_subscription", self.presenceSubscription) + self.userHandler = UserHandler(root) def start(self, event): - pass + for user in self.userHandler.getUserList() : + self.sendPresence(pto = user) def message(self, msg): msg.reply("Thanks for sending\n%(body)s" % msg).send() @@ -19,10 +22,11 @@ class ObjectComponent(ComponentXMPP): def presenceSubscription(self, subscription) : if subscription["type"] == "subscribe" : userJID = subscription["from"].full + self.userHandler.register(userJID) self.sendPresenceSubscription(pto=userJID, ptype="subscribed") self.sendPresence(pto = userJID) self.sendPresenceSubscription(pto=userJID, ptype="subscribe") - + def presenceProbe(self, event): self.sendPresence(pto = event["from"].full) @@ -36,11 +40,13 @@ if __name__ == '__main__' : help='password') commandline.add_argument('-n', '--name', help='Name the component will have') + commandline.add_argument('-r', '--root', + help='Root directory of the user files') commandline.add_argument('host', help='Host to connect to') args = commandline.parse_args() - component = ObjectComponent(args.name, args.secret,args.host,args.port) + component = ObjectComponent(args.name, args.secret, args.host, args.port, args.root) if component.connect() : print 'Component', args.name, 'connected to', args.host + ':' + str(args.port) -- cgit v1.2.3-70-g09d2