From 66e92c6c9fece2ce5a2b62230a003c09f3ec0a7f Mon Sep 17 00:00:00 2001 From: Joe Hildebrand Date: Tue, 20 Jul 2010 11:33:43 -0700 Subject: [PATCH] Modified example to take JID and password on command line --- INSTALL | 3 +++ example.py | 69 +++++++++++++++++++++++++++++------------------------- 2 files changed, 40 insertions(+), 32 deletions(-) diff --git a/INSTALL b/INSTALL index b73b5e5f..f081a35a 100644 --- a/INSTALL +++ b/INSTALL @@ -6,3 +6,6 @@ python3 setup.py install Root install: sudo python3 setup.py install + +To test: +python example.py -v -j [USER@example.com] -p [PASSWORD] diff --git a/example.py b/example.py index c9b6559b..972b6d0d 100644 --- a/example.py +++ b/example.py @@ -8,41 +8,46 @@ import time import sys if sys.version_info < (3,0): - reload(sys) - sys.setdefaultencoding('utf8') + reload(sys) + sys.setdefaultencoding('utf8') class Example(sleekxmpp.ClientXMPP): - - def __init__(self, jid, password): - sleekxmpp.ClientXMPP.__init__(self, jid, password) - self.add_event_handler("session_start", self.start) - self.add_event_handler("message", self.message) - - def start(self, event): - self.getRoster() - self.sendPresence() + + def __init__(self, jid, password): + sleekxmpp.ClientXMPP.__init__(self, jid, password) + self.add_event_handler("session_start", self.start) + self.add_event_handler("message", self.message) + + def start(self, event): + self.getRoster() + self.sendPresence() - def message(self, msg): - msg.reply("Thanks for sending\n%(body)s" % msg).send() + def message(self, msg): + msg.reply("Thanks for sending\n%(body)s" % msg).send() if __name__ == '__main__': - #parse command line arguements - optp = OptionParser() - optp.add_option('-q','--quiet', help='set logging to ERROR', action='store_const', dest='loglevel', const=logging.ERROR, default=logging.INFO) - optp.add_option('-d','--debug', help='set logging to DEBUG', action='store_const', dest='loglevel', const=logging.DEBUG, default=logging.INFO) - optp.add_option('-v','--verbose', help='set logging to COMM', action='store_const', dest='loglevel', const=5, default=logging.INFO) - optp.add_option("-c","--config", dest="configfile", default="config.xml", help="set config file to use") - opts,args = optp.parse_args() - - logging.basicConfig(level=opts.loglevel, format='%(levelname)-8s %(message)s') - xmpp = Example('user@gmail.com/sleekxmpp', 'password') - xmpp.registerPlugin('xep_0030') - xmpp.registerPlugin('xep_0004') - xmpp.registerPlugin('xep_0060') - xmpp.registerPlugin('xep_0199') - if xmpp.connect(('talk.google.com', 5222)): - xmpp.process(threaded=False) - print("done") - else: - print("Unable to connect.") + #parse command line arguements + optp = OptionParser() + optp.add_option('-q','--quiet', help='set logging to ERROR', action='store_const', dest='loglevel', const=logging.ERROR, default=logging.INFO) + optp.add_option('-d','--debug', help='set logging to DEBUG', action='store_const', dest='loglevel', const=logging.DEBUG, default=logging.INFO) + optp.add_option('-v','--verbose', help='set logging to COMM', action='store_const', dest='loglevel', const=5, default=logging.INFO) + optp.add_option("-j","--jid", dest="jid", help="JID to use") + optp.add_option("-p","--password", dest="password", help="password to use") + opts,args = optp.parse_args() + + logging.basicConfig(level=opts.loglevel, format='%(levelname)-8s %(message)s') + xmpp = Example(opts.jid, opts.password) + xmpp.registerPlugin('xep_0030') + xmpp.registerPlugin('xep_0004') + xmpp.registerPlugin('xep_0060') + xmpp.registerPlugin('xep_0199') + + # use this if you don't have pydns, and want to + # talk to GoogleTalk (e.g.) +# if xmpp.connect(('talk.google.com', 5222)): + if xmpp.connect(): + xmpp.process(threaded=False) + print("done") + else: + print("Unable to connect.")