def server_create_view(request): INIFileTemplate = _loadServerINITemplate() INIFileTemplate['server']["name"] =["name",""] INIFileDict = __fillINIwithTemplate(INIFileTemplate,{}) INIFileDict['server']["tests"] =[] INIFileDict['server']["outlets"] =[] INIFileDict['server']["controls"] =[] INIFileDict['server']["dependencies"] =[] multiListChoices = _makeMultichoice("server","tests",lambda: {},INIFileDict) multiListChoices = _makeMultichoice("server","outlets",lambda: {},INIFileDict,multiListChoices) multiListChoices = _makeMultichoice("server","controls",lambda: {},INIFileDict,multiListChoices) multiListChoices = _makeMultichoice("server","dependencies",lambda: {},INIFileDict,multiListChoices) return {"layout": site_layout(), "config_sidebar_head" : config_sidebar_head(), "config_sidebar_body" : config_sidebar_body(), "INI_InputArea_head" : INI_InputArea_head(), "INI_InputArea_body" : INI_InputArea_body(), "INIFileDict" : INIFileDict, "INIFileTemplate" : INIFileTemplate, "multiListChoices" : multiListChoices, "OBJnameSection" : "server", "configPathPrefix": getServerFolder() + "/", "existingOBJCallback" : "checkExistingServers" , "page_title": "Add new Server" }
def _server_obj_create(request,obj,objGenerator,objGeneratorConfigCallback,objGeneratorTemplateCallback,getObjGeneratorsCallback,objNameExistJavascriptCallback): serverName = request.matchdict['serverName'] PDU = request.matchdict[objGenerator] tmpName = obj +"Params" #serverName pduType = objGeneratorConfigCallback(PDU)[objGenerator.lower()]["type"] tmpINIFileTemplate = objGeneratorTemplateCallback(pduType) #Here we move the template dict to the right name INIFileTemplate = {} INIFileTemplate[tmpName] = {} try: INIFileTemplate[tmpName] = tmpINIFileTemplate[obj +"Params"] except KeyError: pass INIFileTemplate[tmpName]["name"] =["name",""] INIFileTemplate[tmpName][objGenerator.lower()] =["select",True] #Remove the pdu params if exist, we handle them in the server section try: INIFileTemplate.pop(objGenerator.lower()) except KeyError: pass INIFileDict = __fillINIwithTemplate(INIFileTemplate) try: INIFileDict[tmpName][objGenerator.lower()] = PDU except KeyError: INIFileDict[tmpName] = {} INIFileDict[tmpName][objGenerator.lower()] = PDU multiListChoices= _makeSelectMulitChoice(PDU,tmpName,objGenerator.lower(),getObjGeneratorsCallback) configPath= os.path.join(getServerFolder() , serverName + '.ini') return {"layout": site_layout(), "config_sidebar_head" : config_sidebar_head(), "config_sidebar_body" : config_sidebar_body(), "INI_InputArea_head" : INI_InputArea_head(), "INI_InputArea_body" : INI_InputArea_body(), "INIFileDict" : INIFileDict, "INIFileTemplate" : INIFileTemplate, "multiListChoices" : multiListChoices, "OBJnameSection" : tmpName, "matchdict" : json.dumps(request.matchdict), "changeSavePathToName" : 'false', "configPath": configPath, "existingOBJCallback" : objNameExistJavascriptCallback, "page_title": serverName + ": Add new " + obj +" using " + PDU }
def _getServerConfigPath(serverName): ''' Get the config file path of a server :param serverName: The name of the server :return: The path of the server''' return os.path.join(getServerFolder() , serverName + '.ini')