moved exposed utility functions into utils namespace; renamed help -> info; added new help

This commit is contained in:
2023-01-23 10:30:41 +01:00
parent c8cadfa364
commit caddf95ca5

View File

@ -13,8 +13,9 @@ class RPCServer(xrs.DocXMLRPCServer):
self.server_name = doc_title_suffix + " " + self.server_name
self.server_title = doc_title_suffix + " " + self.server_title
self.register_function(self.ping)
self.register_function(self.help)
self.register_function(self.ping, name="utils.ping")
self.register_function(self.help, name="utils.help")
self.register_function(self.info, name="utils.info")
def ping(self):
@ -25,6 +26,22 @@ class RPCServer(xrs.DocXMLRPCServer):
def help(self):
"""
Returns an overview of exposed functions incl. signatures and docstrings.
"""
info = self.info()
lines = []
for name, item in info.items():
sig = item["signature"]
head = f"{name}{sig}:"
underline = "-" * len(head)
doc = item["docstring"]
doc = str(doc) # take care of None
lines += [head, underline, doc, ""]
return "\n".join(lines)
def info(self):
"""
Returns a dict mapping names of exposed functions to dicts holding their signature and docstring.
"""