From 6625dd4cbbd7b998ddb890666733da602757f38b Mon Sep 17 00:00:00 2001 From: Adrian Likins Date: Thu, 27 Sep 2007 14:26:52 -0400 Subject: add a system.list_modules method that returns a list of all the modules add a MODULE.list_methods that returns a list of all the methods for a module note that these kind of crisscross system.listMethods, but tis okay --- minion/server.py | 8 ++++++-- modules/func_module.py | 5 +++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/minion/server.py b/minion/server.py index ce9df41..e5b9574 100755 --- a/minion/server.py +++ b/minion/server.py @@ -31,8 +31,6 @@ from func import logger # our modules import AuthedXMLRPCServer import codes -#import config_data -#import logger import module_loader import utils @@ -71,8 +69,14 @@ class XmlRpcInterface(object): # internal methods that we do instead of spreading internal goo # all over the modules. For now, at lest -akl + + # system.listMethods os a quasi stanard xmlrpc method, so + # thats why it has a odd looking name self.handlers["system.listMethods"] = self.list_methods + self.handlers["system.list_modules"] = self.list_modules + def list_modules(self): + return self.modules.keys() def list_methods(self): return self.handlers.keys() diff --git a/modules/func_module.py b/modules/func_module.py index ae8bb11..f488e83 100755 --- a/modules/func_module.py +++ b/modules/func_module.py @@ -35,6 +35,7 @@ class FuncModule(object): "module_version" : self.__module_version, "module_api_version" : self.__module_api_version, "module_description" : self.__module_description, + "list_methods" : self.__list_methods } def __init_log(self): @@ -49,8 +50,8 @@ class FuncModule(object): for meth in self.methods: handlers["%s.%s" % (module_name,meth)] = self.methods[meth] -# def list_methods(self): -# return self.methods.keys() + self.__base_methods.keys() + def __list_methods(self): + return self.methods.keys() + self.__base_methods.keys() def __module_version(self): return self.version -- cgit