self.handler.emit('error',msg='Could not connect to server')
sys.exit(-1)
ifnotself.authenticate(config.get('jid','')==''):
self.handler.emit('error',msg='Could not authenticate to server')
sys.exit(-1)
# TODO, become invisible before sendInitPresence
self.client.sendInitPresence(requestRoster=0)
self.register_handlers()
self.online=1# 2 when confirmation of our auth is received
while1:
self.process()
defconnect_to_server(self,server,port):
"""
Connect to the server
"""
ifconfig.get('use_proxy','false')=='true':
returnself.client.connect((server,port),
{'host':config.get("proxy_server",""),
'port':config.get("proxy_port",1080),
'user':config.get("proxy_user",""),
'password':config.get("proxy_password",
"")
})
else:
returnself.client.connect((server,port))
defauthenticate(self,anon=True):
"""
Authenticate to the server
"""
ifanon:
try:
self.client.auth(None,"",self.resource)
returnTrue
exceptTypeError:
self.handler.emit('error',msg=_('Error: Could not authenticate. Please make sure the server you chose (%s) supports anonymous authentication'%(config.get('server',''))))