Example #1
0
 def start(self):
     """interface requirement"""
     if self.running(): return
     self.factory = XMPPClientFactory(
         self.jid, decrypt(self.SERVICECONFIG.JABBER_PASSWORD))
     self.factory.addBootstrap(STREAM_CONNECTED_EVENT, self.connectionMade)
     self.factory.addBootstrap(STREAM_END_EVENT, self.connectionLost)
     self.factory.addBootstrap(STREAM_AUTHD_EVENT,
                               self.connectionAuthenticated)
     self.factory.addBootstrap(STREAM_ERROR_EVENT, self.receivedError)
     self.factory.addBootstrap(INIT_FAILED_EVENT, self.initFailed)
     self.service = TCPClient(self.SERVICECONFIG.JABBER_SERVER,
                              self.SERVICECONFIG.JABBER_PORT, self.factory)
     self.service.setServiceParent(self.parentService)
     #build/rebuild jabber teams
     if not os.path.exists(self.SERVICECONFIG.JABBER_TEAM_ROSTER):
         try:
             os.makedirs(self.SERVICECONFIG.JABBER_TEAM_ROSTER)
         except:
             log('Cannot load team rosters because %s does not exits' % \
                     self.SERVICECONFIG.JABBER_TEAM_ROSTER)
             return
     for name in os.listdir(self.SERVICECONFIG.JABBER_TEAM_ROSTER):
         f = (self.SERVICECONFIG.JABBER_TEAM_ROSTER, name)
         if os.path.isfile('%s/%s' % f):
             Team(name)  #preload team rosters