Esempio n. 1
0
File: j2j.py Progetto: jbinary/j2j
    def init(self):
        """
        Method initializing all needed services and handlers.
        """
        self.startTime = time.time()
        self.dispatcher.registerHandler((Presence, self))
        self.dispatcher.registerHandler((Message, self))
        self.dispatcher.registerHandler((SubscrHandler, self))
        self.dispatcher.registerHandler((PresenceHandler, self))
        self.disco = Disco(self.dispatcher)
        self.version = ClientVersion(self.dispatcher,
                                    'j2j transport',
                                    self.VERSION, 'Linux')
        self.version.init(self.disco)
        self.myvcard = VCardQuery(nickname='j2j',
                                  jid=self.myjid,
                                  description='\
Jabber to jabber gateway')
        self.vcard = VCard(self.dispatcher, myvcard=self.myvcard)
        self.vcard.init(self.disco)
        self.register = Register(self.dispatcher)
        self.register.init((RegisterHandler, self), self.disco)
        self.gateway = ClientGateway(self.dispatcher,
                                     'Please enter the Jabber Screen Name of \
the person you would like to contact',
                                     'Contact ID')
        self.gateway.init(self.disco)
        self.disco.init()
        print 'Connected!'
Esempio n. 2
0
class TestClientGateway(unittest.TestCase):

    def setUp(self):
        self.cg = ClientGateway(dispatcherEmul('jid'))

    def test_translateAddress(self):
        jid = 'client_jid'
        gateway = 'gateway'
        self.cg.translateAddress(jid, gateway)
        res = self.cg.dispatcher.data[0]

        self.assertTrue(isinstance(res, Iq))

        self.assertEqual(res.type_, 'set')
        self.assertEqual(res.to, MyJID(gateway))
        self.assertEqual(res.from_, self.cg.dispatcher.myjid)
Esempio n. 3
0
 def setUp(self):
     self.cg = ClientGateway(dispatcherEmul('jid'))
Esempio n. 4
0
File: j2j.py Progetto: jbinary/j2j
class j2jComponent(TwilixComponent):
    """
    Master class for the jabber-to-jabber service.
    """
    def __init__(self, version, jid, basepath, basetype):
        """
        Sets info about transport.
        
        :param version: version of your transport.
        
        :param jid: jid of your transport.
        
        :param basepath: path to your users database.
        
        :param basetype: type of your users database
        """
        TwilixComponent.__init__(self, jid)
        self.config = config
        self.VERSION = version
        self.startTime = None
        self.basetype = basetype
        _tmp = __import__('%sBase' % basetype, globals(), locals(),
                                                    ['UserBase'], -1)
        self.dbase = _tmp.UserBase(basepath)
        self.pool = ClientPool()

    def init(self):
        """
        Method initializing all needed services and handlers.
        """
        self.startTime = time.time()
        self.dispatcher.registerHandler((Presence, self))
        self.dispatcher.registerHandler((Message, self))
        self.dispatcher.registerHandler((SubscrHandler, self))
        self.dispatcher.registerHandler((PresenceHandler, self))
        self.disco = Disco(self.dispatcher)
        self.version = ClientVersion(self.dispatcher,
                                    'j2j transport',
                                    self.VERSION, 'Linux')
        self.version.init(self.disco)
        self.myvcard = VCardQuery(nickname='j2j',
                                  jid=self.myjid,
                                  description='\
Jabber to jabber gateway')
        self.vcard = VCard(self.dispatcher, myvcard=self.myvcard)
        self.vcard.init(self.disco)
        self.register = Register(self.dispatcher)
        self.register.init((RegisterHandler, self), self.disco)
        self.gateway = ClientGateway(self.dispatcher,
                                     'Please enter the Jabber Screen Name of \
the person you would like to contact',
                                     'Contact ID')
        self.gateway.init(self.disco)
        self.disco.init()
        print 'Connected!'

    def componentDisconnected(self):
        """
        If type of your database is 'shelve', this method will close
        your database properly.
        """
        if self.basetype == 'shelve':
            self.dbase.close()