diff bot.py @ 177:d1686164b9e3

improved Bot.restart_bridges_delayed(), it can now be used when the IRC server is the problem Signed-off-by: Charly COSTE <changaco@changaco.net>
author Charly COSTE <changaco@changaco.net>
date Mon, 08 Feb 2010 18:53:21 +0100
parents 64a0e9636ae6
children f6c6708c6c0e
line wrap: on
line diff
--- a/bot.py
+++ b/bot.py
@@ -813,17 +813,22 @@ class Bot(threading.Thread):
 		self.error('Bot restarted.', send_to_admins=True)
 	
 	
-	def restart_bridges_delayed(self, bridges, delay, error_message):
+	def restart_bridges_delayed(self, bridges, delay, error_message, protocol='xmpp'):
 		if len(bridges) > 0:
 			error_message += '\nThese bridges will be stopped:'
 			for b in bridges:
 				error_message += '\n'+str(b)
-				if hasattr(b, 'reconnecting'):
-					leave_message = 'MUC server seems to be down'
+				
+				if protocol == 'xmpp':
+					leave_message = 'Could not connect to the MUC server ('+b.xmpp_room_jid+')'
 				else:
-					leave_message = 'MUC server seems to be down, will try to recreate the bridge in '+str(delay)+' seconds'
-					self.reconnecting = True
+					leave_message = 'Could not connect to the IRC server ('+b.irc_connection._server_str()+')'
+				
+				if not hasattr(b, 'reconnecting'):
+					leave_message += 'will try to recreate the bridge in '+str(delay)+' seconds'
+					b.reconnecting = True
 					self.irc.execute_delayed(delay, b.init2)
+				
 				b.stop(message=leave_message)
 		
 		self.error(error_message, send_to_admins=True)