have all modules run a shutdown() when quitting, use it to have MegaHAL close the brain
This commit is contained in:
		
							parent
							
								
									cb54abf2b8
								
							
						
					
					
						commit
						f590daf5cd
					
				| @ -92,6 +92,13 @@ class Module(object): | ||||
|         self.server.remove_global_handler('pubmsg', self.on_pubmsg) | ||||
|         self.server.remove_global_handler('privmsg', self.on_privmsg) | ||||
| 
 | ||||
|     def shutdown(self): | ||||
|         """ | ||||
|         Do pre-deletion type cleanup. | ||||
| 
 | ||||
|         Implement this to close databases, write to disk, etc. | ||||
|         """ | ||||
| 
 | ||||
|     def on_pubmsg(self, connection, event): | ||||
|         """ | ||||
|         Handle pubmsg events. Does some variable setup and initial sanity checking before | ||||
|  | ||||
| @ -105,6 +105,9 @@ class IrcAdmin(Module): | ||||
|     def sub_quit_irc(self, connection, event, nick, userhost, replypath, what, admin_unlocked): | ||||
|         whats = what.split(' ') | ||||
| 
 | ||||
|         for module in self.modlist: | ||||
|             module.shutdown() | ||||
| 
 | ||||
|         if replypath is not None: | ||||
|             connection.privmsg(replypath, 'Quitting...') | ||||
|         connection.quit(' '.join(whats[1:])) | ||||
|  | ||||
| @ -41,6 +41,12 @@ class MegaHAL(Module): | ||||
|         except NoOptionError: | ||||
|             self.megahal = megahal.MegaHAL() | ||||
| 
 | ||||
|     def shutdown(self): | ||||
|         """ | ||||
|         Close the megahal brain. | ||||
|         """ | ||||
|         self.megahal.close() | ||||
| 
 | ||||
|     def reload(self, connection, event, nick, userhost, replypath, what, admin_unlocked): | ||||
|         """ | ||||
|         Broken. Don't do anything. | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user