attempt to ask the modules for help text
This commit is contained in:
		
							parent
							
								
									763f8906d7
								
							
						
					
					
						commit
						87088e67d1
					
				| @ -39,23 +39,53 @@ class Help(Module): | ||||
|         """look for karma strings at the start of messages""" | ||||
| 
 | ||||
|         match = self.helpre.search(what) | ||||
|         if (match): | ||||
|         if match: | ||||
|             (module, key) = match.group(2,4) | ||||
|             if (module == None): | ||||
|                 return self.help_descriptions() | ||||
|                 return self.handle_help_descriptions() | ||||
|             elif (key == None): | ||||
|                 return self.help_module(module) | ||||
|                 return self.handle_help_module(module) | ||||
|             else: | ||||
|                 return self.help_detail(module, key) | ||||
|                 return self.handle_help_detail(module, key) | ||||
| 
 | ||||
|     def help_descriptions(self): | ||||
|         return "asked for general help" | ||||
|     def handle_help_descriptions(self): | ||||
|         message = "General Help:\n" | ||||
|         for module in self.irc.modlist: | ||||
|             description = module.help_description() | ||||
|             if description: | ||||
|                 message += "  %s - %s\n" % (module.__class__.__name__, | ||||
|                                            description)  | ||||
|         return message | ||||
| 
 | ||||
|     def help_module(self, module): | ||||
|         return "asked for help on module %s" % (module) | ||||
|     def handle_help_module(self, modname): | ||||
|         module = self.find_module(modname) | ||||
|         if module: | ||||
|             helptext = module.help_summary() | ||||
|             if helptext: | ||||
|                 return "%s - %s" % (modname, helptext) | ||||
|             else: | ||||
|                 return "no help available for module %s" % (modname) | ||||
|         else: | ||||
|             return "no module named '%s' is loaded" % (modname) | ||||
| 
 | ||||
|     def help_detail(self, module, key): | ||||
|         return "asked for help on module %s detail %s" % (module, key) | ||||
|     def handle_help_detail(self, modname, key): | ||||
|         module = self.find_module(modname) | ||||
|         if module: | ||||
|             helptext = module.help_detail(key) | ||||
|             if helptext: | ||||
|                 return "%s (%s) - %s" % (modname, key, helptext) | ||||
|             else: | ||||
|                 return "no help available for module '%s', command '%s'" % (modname, key) | ||||
|         else: | ||||
|             return "no module named '%s' is loaded" % (modname) | ||||
|              | ||||
|         return "asked for help on module %s detail %s" % (modname, key) | ||||
| 
 | ||||
|     def find_module(self, modname): | ||||
|         for module in self.irc.modlist: | ||||
|             if modname == module.__class__.__name__: | ||||
|                 return module | ||||
|         return None | ||||
| 
 | ||||
| if __name__ == "__main__": | ||||
|     print "Hello World" | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user