예제 #1
0
파일: chat.py 프로젝트: mor1/karaka
    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)
예제 #2
0
    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)
예제 #3
0
파일: xdb_copy.py 프로젝트: smokku/wpjabber
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)
예제 #4
0
 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)
예제 #5
0
    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)
예제 #6
0
 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)