#! /usr/bin/env python # -*- coding: utf-8 -*- import sys from utils import * class ModuleManager: def import_module(self,name): parts = name.split(".") try: obj= sys.modules[name] except KeyError: obj = __import__(".".join(parts[:-1])) if(len(parts)>1): for part in parts[1:]: try: obj = getattr(obj,part) except: obj = None return obj def getModuleInstance(self,action): action=action.replace(" ","_") module_name = self.find_module(action) if(module_name): #print module_name return self.import_module(module_name).getInstance() #try: # return self.import_module(module_name).getInstance() #except: # print dir(self.import_module(module_name)) else: return None def find_module(self,action): try: return getModulesList()[action] except: return None def getModulesInfoAsHTML(self): module_dict=getModulesList () response = "

Available Modules

" response = response+"" for action in module_dict: module_instance=self.getModuleInstance(action) if(module_instance!=None): response = response+"" response = response+"" else: response = response+"" response = response+"" return response+"
ModuleDescription
"+module_instance.get_module_name()+""+module_instance.get_info()+"
"+action.replace("_"," ")+"Error while retrieving module details
" def getAllModules(self): modules=[] module_dict=getModulesList () for action in module_dict: module_instance=self.getModuleInstance(action) modules.append(module_instance) modules.sort() return modules