def authenticated(self): dbg("authenticated: jid:%s" % (self.jid.as_utf8(),)) self.connection = CONNECTION.connected Component.authenticated(self) self.stream.set_iq_get_handler("query", "jabber:iq:version", self.get_version) self.stream.set_iq_get_handler("query", "jabber:iq:register", self.get_register) self.stream.set_iq_set_handler("query", "jabber:iq:register", self.set_register) self.stream.set_presence_handler("available", self.presence_available) self.stream.set_presence_handler("unavailable", self.presence_unavailable) self.stream.set_presence_handler("error", self.presence_error) self.stream.set_presence_handler("probe", self.probe) self.stream.set_presence_handler("subscribe", self.subscribe) self.stream.set_presence_handler("subscribed", self.subscribed) self.stream.set_presence_handler("unsubscribe", self.unsubscribe) self.stream.set_presence_handler("unsubscribed", self.unsubscribed) ## default handlers self.stream.set_message_handler("normal", self.default_handler) self.default_presence_handler = self.stream.process_presence self.stream.process_presence = self.default_handler ## not possible to set a default IQ handler since all IQs either handled ## by user handler, or cause feature-not-implemented or bad-request to ## be sent self.stream.set_iq_set_handler( "x", "http://jabber.org/protocol/rosterx", self.default_handler) self.stream.set_iq_set_handler( "command", "http://vipadia.com/skype", self.vipadia_command)
def authenticated(self): dbg("authenticated: jid:%s" % (self.jid.as_utf8(),)) Component.authenticated(self) self.connection = CONNECTION.connected self.stream.set_iq_get_handler("query", "jabber:iq:version", self.get_version) self.stream.set_iq_set_handler("command", "http://vipadia.com/skype", self.vipadia_command) self.stream.set_presence_handler("available", self.presence) self.stream.set_presence_handler("unavailable", self.presence) self.stream.set_message_handler("normal", self.message)
def main(): global source global config global dest global users global shutdown config_file="xdb_copy.xml" user_file="xdb_copy.users" try: try: config=Config(config_file) except: print >>sys.stderr,"Couldn't load config file:",str(sys.exc_value) sys.exit(1) try: userfile=codecs.open(user_file, "r", "utf-8") except: print >>sys.stderr,"Couldn't load users file:",str(sys.exc_value) sys.exit(1) users=userfile.readlines() source=Component(jid=config.source.jid,server=config.source.host,port=config.source.port,secret=config.source.secret); source.authenticated=authenticated source.connect() dest=Component(jid=config.destination.jid,server=config.destination.host,port=config.destination.port,secret=config.destination.secret); dest.authenticated=auth_dest dest.connect() shutdown=None try: while (not shutdown and source.stream and not source.stream.eof and source.stream.socket is not None): try: source.stream.loop_iter(1) dest.stream.loop_iter(1) except (KeyboardInterrupt,SystemExit,FatalStreamError,StreamError): raise except: source.print_exception() finally: source.disconnect() source.debug("Exitting normally") except FatalError,e: print e print "Aborting." sys.exit(1)
def authenticated(self): self.logger.info('Trying to authenticate with server...') Component.authenticated(self) self.logger.info('JoggerBot component authenticated') # set up handlers for supported <iq/> queries self.stream.set_iq_get_handler('query', 'jabber:iq:version', self.getVersionQuery) self.stream.set_iq_get_handler('query', 'jabber:iq:register', self.getRegisterQuery) self.stream.set_iq_set_handler('query', 'jabber:iq:register', self.setRegisterQuery) self.stream.set_iq_get_handler('query', 'jabber:iq:last', self.onLastQuery) # set up handlers for <presence/> stanzas self.stream.set_presence_handler('probe', self.onProbe) self.stream.set_presence_handler('available', self.onPresence) self.stream.set_presence_handler('subscribe', self.onSubscriptionChange) self.stream.set_presence_handler('unsubscribe', self.onSubscriptionChange) # set up handler for <message stanza> self.stream.set_message_handler('normal', self.onMessage)
def authenticated(self): dbg("authenticated: jid:%s" % (self.jid.as_utf8(), )) self.connection = CONNECTION.connected Component.authenticated(self) self.stream.set_iq_get_handler("query", "jabber:iq:version", self.get_version) self.stream.set_iq_get_handler("query", "jabber:iq:register", self.get_register) self.stream.set_iq_set_handler("query", "jabber:iq:register", self.set_register) self.stream.set_presence_handler("available", self.presence_available) self.stream.set_presence_handler("unavailable", self.presence_unavailable) self.stream.set_presence_handler("error", self.presence_error) self.stream.set_presence_handler("probe", self.probe) self.stream.set_presence_handler("subscribe", self.subscribe) self.stream.set_presence_handler("subscribed", self.subscribed) self.stream.set_presence_handler("unsubscribe", self.unsubscribe) self.stream.set_presence_handler("unsubscribed", self.unsubscribed) ## default handlers self.stream.set_message_handler("normal", self.default_handler) self.default_presence_handler = self.stream.process_presence self.stream.process_presence = self.default_handler ## not possible to set a default IQ handler since all IQs either handled ## by user handler, or cause feature-not-implemented or bad-request to ## be sent self.stream.set_iq_set_handler("x", "http://jabber.org/protocol/rosterx", self.default_handler) self.stream.set_iq_set_handler("command", "http://vipadia.com/skype", self.vipadia_command)