当前位置: 首页>>代码示例>>Python>>正文


Python Helper.getClass方法代码示例

本文整理汇总了Python中Helper.Helper.getClass方法的典型用法代码示例。如果您正苦于以下问题:Python Helper.getClass方法的具体用法?Python Helper.getClass怎么用?Python Helper.getClass使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Helper.Helper的用法示例。


在下文中一共展示了Helper.getClass方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __init__

# 需要导入模块: from Helper import Helper [as 别名]
# 或者: from Helper.Helper import getClass [as 别名]
class Config:

	data = {}
	helper = False
	withDependencies = False

	def __init__(self, arg):
		self.withDependencies = arg
		self.helper = Helper()

	def getConf(self):
		return self.data

	# =================== Checking ====================== #

	def createQueue(self, conf):
		queue = []
		try:
			for key, vals in conf.iteritems():
				if (type(vals) is list):
					for val in vals:
						self.checkDependencies(key, val, conf, queue)
				elif (type(vals) is dict):
					for name, params in vals.iteritems():
						self.checkDependencies(key, name, conf, queue, params)
				else:
					self.checkDependencies(key, vals, conf, queue)

			return self.sortQueue(queue)
		except:
			print sys.exc_info()

	def checkDependencies(self, folder, className, conf, queue, params=False):
		curClass = self.helper.getClass(folder + '.' + self.helper.ucfirst(className))()
		if hasattr(curClass, 'dependencies') and self.withDependencies == '1':
			for val in curClass.dependencies:
				curVal = val.split('.')
				if curVal[0] in conf:
					if curVal[1] == conf[curVal[0]] or (hasattr(conf[curVal[0]], 'keys') and curVal[1] in conf[curVal[0]].keys()):
						continue

				self.checkDependencies(curVal[0], curVal[1], conf, queue)

		if params:
			curClass.attrs = {}
			for key, val in params.iteritems():
				curClass.attrs[key] = val
		self.helper.listAdd(curClass, queue)

	def sortQueue(self, queue):
		newQueue = []
		for val in queue:
			if hasattr(val, 'sortOrder'):
				for sortEl in val.sortOrder:
					self.helper.listFindAndAdd(sortEl, queue, newQueue)
			if hasattr(val, 'dependencies'):
				for sortEl in val.dependencies:
					self.helper.listFindAndAdd(sortEl, queue, newQueue)
		self.helper.listMerge(queue, newQueue)
		return newQueue

	# =================== Creation ====================== #

	def createConf(self):
		self.data['dist'] = self.setDist()
		self.data['language'] = self.setLang()
		self.data['server'] = self.setServer()
		# self.data['db'] = self.setDb()
		return self.getConf()

	def choice(self, arr, question, isRequired=False):
		string = '===== '+question+' =====\n'
		num = 0
		for key, val in arr.iteritems():
			string += str(num)+'. '+key+'\n'
			num += 1;

		if (isRequired is False): string += str(num)+'. Nothing\n'
		curChoice = raw_input(string+'Your choice? ')
		if (curChoice == str(num) and isRequired is False): print ''

		try:
			return arr.keys()[int(curChoice)]
		except:
			print 'not correct number'
			func = inspect.getouterframes(inspect.currentframe())[1][3]
			getattr(self, func)()

	def setDist(self):
		grep = self.helper.execute("cat /etc/lsb-release")
		dist = grep.split('\n')[0].split('=')[1].lower()
		if (dist in self.dist): 
			return self.dist[dist]
		else:
			dist = raw_input('type your linux distribution name? ').lower()
			if (dist in self.dist): 
				return dist
			else:
				sys.exit('Sorry, this distribution does not supported:(')

#.........这里部分代码省略.........
开发者ID:Sephirothus,项目名称:unfolding,代码行数:103,代码来源:Config.py


注:本文中的Helper.Helper.getClass方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。