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"""
|
"""look for karma strings at the start of messages"""
|
||||||
|
|
||||||
match = self.helpre.search(what)
|
match = self.helpre.search(what)
|
||||||
if (match):
|
if match:
|
||||||
(module, key) = match.group(2,4)
|
(module, key) = match.group(2,4)
|
||||||
if (module == None):
|
if (module == None):
|
||||||
return self.help_descriptions()
|
return self.handle_help_descriptions()
|
||||||
elif (key == None):
|
elif (key == None):
|
||||||
return self.help_module(module)
|
return self.handle_help_module(module)
|
||||||
else:
|
else:
|
||||||
return self.help_detail(module, key)
|
return self.handle_help_detail(module, key)
|
||||||
|
|
||||||
def help_descriptions(self):
|
def handle_help_descriptions(self):
|
||||||
return "asked for general help"
|
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):
|
def handle_help_module(self, modname):
|
||||||
return "asked for help on module %s" % (module)
|
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):
|
def handle_help_detail(self, modname, key):
|
||||||
return "asked for help on module %s detail %s" % (module, 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__":
|
if __name__ == "__main__":
|
||||||
print "Hello World"
|
print "Hello World"
|
||||||
|
|
Loading…
Reference in New Issue