def connect(self, reconnect=True): """ connect the xmpp server. """ try: if not XMLStream.connect(self): logging.error('%s - connect to %s:%s failed' % (self.name, self.host, self.port)) return else: logging.warn('%s - connected' % self.name) self.logon(self.cfg.user, self.cfg.password) start_new_thread(self._keepalive, ()) self.requestroster() self._raw("<presence/>") self.connectok.set() self.sock.settimeout(None) return True except Exception, ex: handle_exception() if reconnect: return self.reconnect()