⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 policy.cgi

📁 xen 3.2.2 源码
💻 CGI
📖 第 1 页 / 共 5 页
字号:
				continue			steTypes = getSteTypes( domNode )			if steTypes == None:				msg = ''				msg = msg + 'Error processing the SimpleTypeEnforcement types.\n'				msg = msg + 'Please validate the Policy file used.'				formatXmlError( msg )				return			newRes( resName, 1 )			allResStes[resName][1] = steTypesdef modFormTemplate( formTemplate, suffix ):	formVar = [x for x in formTemplate]	if formVar[2] != '':		formVar[2] = formVar[2] + suffix	if formVar[3] != '':		formVar[3] = formVar[3] + suffix	if (formVar[0] != 'button') and (formVar[4] != ''):		formVar[4] = formVar[4] + suffix	return formVar;def removeDups( curList ):	newList = []	curSet  = Set( curList )	for x in curSet:		newList.append( x )	newList.sort( )	return newListdef newCS( csName, addToList = 0 ):	global formCSNames	global templateCSDel, allCSDel	global templateCSMTypes, templateCSMDel, templateCSMType, templateCSMAdd	global allCSMTypes, allCSMDel, allCSMType, allCSMAdd	csSuffix = '_' + csName	# Make sure we have an actual name and check one of the 'all'	# variables to be sure it hasn't been previously defined	if (len( csName ) > 0) and (not allCSMTypes.has_key( csName )):		allCSDel[csName]    = modFormTemplate( templateCSDel,    csSuffix )		allCSMTypes[csName] = modFormTemplate( templateCSMTypes, csSuffix )		allCSMDel[csName]   = modFormTemplate( templateCSMDel,   csSuffix )		allCSMType[csName]  = modFormTemplate( templateCSMType,  csSuffix )		allCSMAdd[csName]   = modFormTemplate( templateCSMAdd,   csSuffix )		if addToList == 1:			formCSNames[1].append( csName )			formCSNames[1] = removeDups( formCSNames[1] )def newVm( vmName, addToList = 0 ):	global formVmNames	global templateVmDel, allVmDel, templateVmDom0, allVmDom0	global templateVmChWs, templateVmChWDel, templateVmChW, templateVmChWAdd	global allVmChWs, allVmChWDel, allVmChWType, allVmChWAdd	global templateVmStes, templateVmSteDel, templateVmSte, templateVmSteAdd	global allVmStes, allVmSteDel, allVmSteType, allVmSteAdd	# Make sure we have an actual name and check one of the 'all'	# variables to be sure it hasn't been previously defined	if (len( vmName ) > 0) and (not allVmDom0.has_key( vmName )):		vmSuffix = '_' + vmName		allVmDom0[vmName]   = modFormTemplate( templateVmDom0,   vmSuffix )		allVmDel[vmName]    = modFormTemplate( templateVmDel,    vmSuffix )		allVmChWs[vmName]   = modFormTemplate( templateVmChWs,   vmSuffix )		allVmChWDel[vmName] = modFormTemplate( templateVmChWDel, vmSuffix )		allVmChW[vmName]    = modFormTemplate( templateVmChW,    vmSuffix )		allVmChWAdd[vmName] = modFormTemplate( templateVmChWAdd, vmSuffix )		allVmStes[vmName]   = modFormTemplate( templateVmStes,   vmSuffix )		allVmSteDel[vmName] = modFormTemplate( templateVmSteDel, vmSuffix )		allVmSte[vmName]    = modFormTemplate( templateVmSte,    vmSuffix )		allVmSteAdd[vmName] = modFormTemplate( templateVmSteAdd, vmSuffix )		if addToList == 1:			formVmNames[1].append( vmName )			formVmNames[1] = removeDups( formVmNames[1] )def newRes( resName, addToList = 0 ):	global formResNames	global templateResDel, allResDel	global templateResStes, templateResSteDel, templateResSte, templateResSteAdd	global allResStes, allResSteDel, allResSteType, allResSteAdd	# Make sure we have an actual name and check one of the 'all'	# variables to be sure it hasn't been previously defined	if (len( resName ) > 0) and (not allResDel.has_key( resName )):		resSuffix = '_' + resName		allResDel[resName]    = modFormTemplate( templateResDel,    resSuffix )		allResStes[resName]   = modFormTemplate( templateResStes,   resSuffix )		allResSteDel[resName] = modFormTemplate( templateResSteDel, resSuffix )		allResSte[resName]    = modFormTemplate( templateResSte,    resSuffix )		allResSteAdd[resName] = modFormTemplate( templateResSteAdd, resSuffix )		if addToList == 1:			formResNames[1].append( resName )			formResNames[1] = removeDups( formResNames[1] )def updateInfo( ):	global formData, formPolicyName, formPolicyUrl, formPolicyRef, formPolicyDate, formPolicyNSUrl	global formPolicyOrder	if formData.has_key( formPolicyName[3] ):		formPolicyName[1] = formData[formPolicyName[3]].value	elif formData.has_key( formPolicyUpdate[3] ):		formPolicyName[1] = ''	if formData.has_key( formPolicyUrl[3] ):		formPolicyUrl[1] = formData[formPolicyUrl[3]].value	elif formData.has_key( formPolicyUpdate[3] ):		formPolicyUrl[1] = ''	if formData.has_key( formPolicyRef[3] ):		formPolicyRef[1] = formData[formPolicyRef[3]].value	elif formData.has_key( formPolicyUpdate[3] ):		formPolicyRef[1] = ''	if formData.has_key( formPolicyDate[3] ):		formPolicyDate[1] = formData[formPolicyDate[3]].value	elif formData.has_key( formPolicyUpdate[3] ):		formPolicyDate[1] = ''	if formData.has_key( formPolicyNSUrl[3] ):		formPolicyNSUrl[1] = formData[formPolicyNSUrl[3]].value	elif formData.has_key( formPolicyUpdate[3] ):		formPolicyNSUrl[1] = ''	if formData.has_key( formPolicyOrder[3] ):		formPolicyOrder[1] = formData[formPolicyOrder[3]].valuedef addSteType( ):	global formData, formSteType, formSteTypes	if (formData.has_key( formDefaultButton[3] )) or (formData.has_key( formSteAdd[3] )):		if formData.has_key( formSteType[3] ):			type = formData[formSteType[3]].value			type = type.strip( )			if len( type ) > 0:				formSteTypes[1].append( type )				formSteTypes[1] = removeDups( formSteTypes[1] )def delSteType( ):	global formData, formSteTypes	if formData.has_key( formSteTypes[3] ):		typeList = formData.getlist( formSteTypes[3] )		for type in typeList:			type = type.strip( )			formSteTypes[1].remove( type )def addChWallType( ):	global formData, formChWallType, formChWallTypes	if (formData.has_key( formDefaultButton[3] )) or (formData.has_key( formChWallAdd[3] )):		if formData.has_key( formChWallType[3] ):			type = formData[formChWallType[3]].value			type = type.strip( )			if len( type ) > 0:				formChWallTypes[1].append( type )				formChWallTypes[1] = removeDups( formChWallTypes[1] )def delChWallType( ):	global formData, formChWallTypes	if formData.has_key( formChWallTypes[3] ):		typeList = formData.getlist( formChWallTypes[3] )		for type in typeList:			type = type.strip( )			formChWallTypes[1].remove( type )def addCS( ):	global formData, formCSNames	if (formData.has_key( formDefaultButton[3] )) or (formData.has_key( formCSAdd[3] )):		if formData.has_key( formCSName[3] ):			csName = formData[formCSName[3]].value			csName = csName.strip( )			newCS( csName, 1 )def delCS( csName ):	global formData, formCSNames, allCSDel	global allCSMTypes, allCSMDel, allCSMType, allCSMAdd	csName = csName.strip( )	formCSNames[1].remove( csName )	del allCSDel[csName]	del allCSMTypes[csName]	del allCSMDel[csName]	del allCSMType[csName]	del allCSMAdd[csName]def addCSMember( csName ):	global formData, allCSMType, allCSMTypes	formVar = allCSMType[csName]	if formData.has_key( formVar[3] ):		csmList = formData.getlist( formVar[3] )		formVar = allCSMTypes[csName]		for csm in csmList:			csm = csm.strip( )			formVar[1].append( csm )			formVar[1] = removeDups( formVar[1] )def delCSMember( csName ):	global formData, allCSMTypes	formVar = allCSMTypes[csName]	if formData.has_key( formVar[3] ):		csmList = formData.getlist( formVar[3] )		for csm in csmList:			csm = csm.strip( )			formVar[1].remove( csm )def addVm( ):	global formData, fromVmName, formVmNames, formVmNameDom0	if (formData.has_key( formDefaultButton[3] )) or (formData.has_key( formVmAdd[3] )):		if formData.has_key( formVmName[3] ):			vmName = formData[formVmName[3]].value			vmName = vmName.strip( )			newVm( vmName, 1 )			if formVmNameDom0[1] == '':				formVmNameDom0[1] = vmNamedef delVm( vmName ):	global formVmNames, formVmNameDom0	global allVmDel, allVmDom0	global allVmChWs, allVmChWDel, allVmChWType, allVmChWAdd	global allVmStes, allVmSteDel, allVmSteType, allVmSteAdd	vmName = vmName.strip( )	formVmNames[1].remove( vmName )	del allVmDom0[vmName]	del allVmDel[vmName]	del allVmChWs[vmName]	del allVmChWDel[vmName]	del allVmChW[vmName]	del allVmChWAdd[vmName]	del allVmStes[vmName]	del allVmSteDel[vmName]	del allVmSte[vmName]	del allVmSteAdd[vmName]	if formVmNameDom0[1] == vmName:		if len( formVmNames[1] ) > 0:			formVmNameDom0[1] = formVmNames[1][0]		else:			formVmNameDom0[1] = ''def makeVmDom0( vmName ):	global formVmNameDom0	vmName = vmName.strip( )	formVmNameDom0[1] = vmNamedef addVmChW( vmName ):	global formData, allVmChW, allVmChWs	formVar = allVmChW[vmName]	if formData.has_key( formVar[3] ):		chwList = formData.getlist( formVar[3] )		formVar = allVmChWs[vmName]		for chw in chwList:			chw = chw.strip( )			formVar[1].append( chw )			formVar[1] = removeDups( formVar[1] )def delVmChW( vmName ):	global formData, allVmChWs	formVar = allVmChWs[vmName]	if formData.has_key( formVar[3] ):		chwList = formData.getlist( formVar[3] )		for chw in chwList:			chw = chw.strip( )			formVar[1].remove( chw )def addVmSte( vmName ):	global formData, allVmSte, allVmStes	formVar = allVmSte[vmName]	if formData.has_key( formVar[3] ):		steList = formData.getlist( formVar[3] )		formVar = allVmStes[vmName]		for ste in steList:			ste = ste.strip( )			formVar[1].append( ste )			formVar[1] = removeDups( formVar[1] )def delVmSte( vmName ):	global formData, allVmStes	formVar = allVmStes[vmName]	if formData.has_key( formVar[3] ):		steList = formData.getlist( formVar[3] )		for ste in steList:			ste = ste.strip( )			formVar[1].remove( ste )def addRes( ):	global formData, fromResName, formResNames	if (formData.has_key( formDefaultButton[3] )) or (formData.has_key( formResAdd[3] )):		if formData.has_key( formResName[3] ):			resName = formData[formResName[3]].value			resName = resName.strip( )			newRes( resName, 1 )def delRes( resName ):	global formResNames	global allResDel	global allResStes, allResSteDel, allResSteType, allResSteAdd	resName = resName.strip( )	formResNames[1].remove( resName )	del allResDel[resName]	del allResStes[resName]	del allResSteDel[resName]	del allResSte[resName]	del allResSteAdd[resName]def addResSte( vmName ):	global formData, allResSte, allResStes	formVar = allResSte[vmName]	if formData.has_key( formVar[3] ):		steList = formData.getlist( formVar[3] )		formVar = allResStes[vmName]		for ste in steList:			ste = ste.strip( )			formVar[1].append( ste )			formVar[1] = removeDups( formVar[1] )def delResSte( vmName ):	global formData, allResStes	formVar = allResStes[vmName]	if formData.has_key( formVar[3] ):		steList = formData.getlist( formVar[3] )		for ste in steList:			ste = ste.strip( )			formVar[1].remove( ste )def processRequest( ):	global policyXml	global formData, formPolicyUpdate	global formSteAdd, formSteDel	global formChWallAdd, formChWallDel	global formCSAdd, allCSDel	global formCSNames, allCSMAdd, allCSMDel	global formVmAdd	global formVmNames, allVmDel, allVmDom0	global allVmChWAdd, allVmChWDel, allVmSteAdd, allVmSteDel	global formResAdd	global formResNames, allResDel	global allResSteAdd, allResSteDel	if policyXml != '':		parsePolicyXml( )	# Allow the updating of the header information whenever	# an action is performed	updateInfo( )	# Allow the adding of types/sets/vms if the user has hit the	# enter key when attempting to add a type/set/vm	addSteType( )	addChWallType( )	addCS( )	addVm( )	addRes( )	if formData.has_key( formSteDel[3] ):		delSteType( )	elif formData.has_key( formChWallDel[3] ):		delChWallType( )	else:		for csName in formCSNames[1]:			if formData.has_key( allCSDel[csName][3] ):				delCS( csName )				continue			if formData.has_key( allCSMAdd[csName][3] ):				addCSMember( csName )			elif formData.has_key( allCSMDel[csName][3] ):				delCSMember( csName )	for vmName in formVmNames[1]:		if formData.has_key( allVmDel[vmName][3] ):			delVm( vmName )			continue		if formData.has_key( allVmDom0[vmName][3] ):			makeVmDom0( vmName )		if formData.has_key( allVmChWAdd[vmName][3] ):			addVmChW( vmName )		elif formData.has_key( allVmChWDel[vmName][3] ):			delVmChW( vmName )		elif formData.has_key( allVmSteAdd[vmName][3] ):			addVmSte( vmName )		elif formData.has_key( allVmSteDel[vmName][3] ):			delVmSte( vmName )	for resName in formResNames[1]:		if formData.has_key( allResDel[resName][3] ):			delRes( resName )			continue		if formData.has_key( allResSteAdd[resName][3] ):			addResSte( resName )		elif formData.has_key( allResSteDel[resName][3] ):			delResSte( resName )def makeName( name, suffix='' ):	rName = name	if suffix != '':		rName = rName + '_' + suffix	return rNamedef makeNameAttr( name, suffix='' ):	return 'name="' + makeName( name, suffix ) + '"'def makeValue( value, suffix='' ):	rValue = value	if isinstance( value, list ):		rValue = '['		for val in value:			rValue = rValue + '\'' + val			if suffix != '':				rValue = rValue + '_' + suffix			rValue = rValue + '\','		rValue = rValue + ']'	else:		if suffix != '':			rValue = rValue + '_' + suffix	return rValuedef makeValueAttr( value, suffix='' ):	return 'value="' + makeValue( value, suffix ) + '"'def sendHtmlFormVar( formVar, attrs='', rb_select=0 ):	nameAttr  = ''	valueAttr = ''	htmlText  = ''	if formVar[0] == 'text':		if formVar[3] != '':			nameAttr = makeNameAttr( formVar[3] )		valueAttr = makeValueAttr( formVar[1] )		print '<INPUT type="text"', nameAttr, valueAttr, attrs, '>'	elif formVar[0] == 'list':		if formVar[3] != '':			nameAttr = makeNameAttr( formVar[3] )		print '<SELECT', nameAttr, attrs, '>'		for option in formVar[1]:			print '<OPTION>' + option + '</OPTION>'		print '</SELECT>'	elif formVar[0] == 'button':

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -