aboutsummaryrefslogtreecommitdiffstats
path: root/server.py
diff options
context:
space:
mode:
authorThibaut Horel <thibaut.horel@gmail.com>2010-12-31 19:19:25 +0100
committerThibaut Horel <thibaut.horel@gmail.com>2010-12-31 19:19:25 +0100
commitd90aec17e2201f256783a531c548dcc9857c889d (patch)
tree56b6d0580ee1993c73e67c63d4a452a81bbaaf1e /server.py
parentaf76bcdf7a947702eaa19d39f5b9ecfcd7ec6fd2 (diff)
downloadalias-d90aec17e2201f256783a531c548dcc9857c889d.tar.gz
Cleanup of repository. Bases of webclient.
* remove sleekxmpp (install guideline in server/README) * move server code to server directory * webclient directory with basic strophejs example
Diffstat (limited to 'server.py')
-rw-r--r--server.py96
1 files changed, 0 insertions, 96 deletions
diff --git a/server.py b/server.py
deleted file mode 100644
index b572f22..0000000
--- a/server.py
+++ /dev/null
@@ -1,96 +0,0 @@
-import logging
-from argparse import ArgumentParser
-
-from sleekxmpp.componentxmpp import ComponentXMPP
-from sleekxmpp.xmlstream.xmlstream import XMLStream
-
-from user import UserHandler
-from config import filename, config
-
-class ObjectComponent(ComponentXMPP):
-
- def __init__(self, jid, secret, server, port, root):
- ComponentXMPP.__init__(self, jid, secret, server, port)
- self.register_plugin('xep_0030')
- self.register_plugin("AliasPlugin", module = "plugin")
- self.add_event_handler("session_start", self.start)
- self.add_event_handler("presence_probe", self.presence_probe)
- self.add_event_handler("message", self.message)
- self.add_event_handler("changed_subscription", self.presence_subscription)
- self.userHandler = UserHandler(root)
-
- def start(self, event):
- for user in self.userHandler.get_user_list():
- self.send_presence(pto = user)
-
- def disconnect(self, reconnect = False):
- for user in self.userHandler.get_user_list():
- self.send_presence(pto = user, ptype = "unavailable")
- XMLStream.disconnect(self, reconnect)
- logging.info('Component {} disconnected'.format(self.boundjid.bare))
-
- def message(self, msg):
- msg.reply("Thanks for sending\n{[body]}".format(msg)).send()
-
- def presence_subscription(self, subscription):
- if subscription["type"] == "subscribe":
- userJID = subscription["from"].full
- self.userHandler.register(userJID)
- subscription.reply().send()
- self.send_presence(pto = userJID)
- self.send_presence_subscription(pto = userJID, ptype = "subscribe")
- if subscription["type"] == "unsubscribe":
- userJID = subscription["from"].full
- self.userHandler.unregister(userJID)
-
- def presence_probe(self, event):
- self.send_presence(pto = event["from"].full)
-
-
-if __name__ == '__main__':
- commandline = ArgumentParser(description = 'Connect the alias \
- component to a given server')
- commandline.add_argument('-p', '--port',
- help = 'Port to connect to',
- type = int)
- commandline.add_argument('-s', '--secret',
- 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('-c', '--config',
- help = 'Name of the config file to use')
- commandline.add_argument('-d', '--debug',
- help = 'Set log level to DEBUG',
- action = 'store_const',
- const = logging.DEBUG,
- default = logging.INFO)
- commandline.add_argument('-o', '--host',
- help = 'Host to connect to')
-
- args = commandline.parse_args()
-
- if args.config is None:
- logging.basicConfig(level = args.debug)
- config.name = args.name
- config.port = args.port
- config.secret = args.secret
- config.root = args.root
- config.host = args.host
- else:
- filename = args.config
- logging.basicConfig(level = args.debug)
- config.read(filename)
-
- component = ObjectComponent(config.name, config.secret,
- config.host, config.port,
- config.root)
-
- if component.connect():
- logging.info('Component {} connected'.format(component.boundjid))
- component.process(False)
- else :
- print "Couldn't connect"
-
-