diff options
Diffstat (limited to 'server.py')
| -rw-r--r-- | server.py | 14 |
1 files changed, 10 insertions, 4 deletions
@@ -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) |
