因为目标机器没有enum模块,无法import Enum。但是代码里面用到了开发机器上的Enum。
没办法只能手写一个代替一下。
# It mainly implements three enum features
# 1. Return a enumhand class, has the key/enum class data: Task.DIEID
# 2. The enumhand class instance has enum class data according key: Task('DIEID')
# 3. enum class has class data name and value: Task.DIEID.name/Task.DIEID.value
# 4. And the enum class obejct should point to the same one with the same key in 1/2
def __new__(cls, name):
if name in cls.meta.keys():
return cls.meta[name]
def enum(name, **kwargs):
data = {}
meta = {}
for kwg in kwargs:
item = {}
item['name'] = kwg
item['value'] = kwargs[kwg]
enum = type('enum', (), item)
meta[kwg] = enum
data['__new__'] = __new__
data.update(meta)
data['meta'] = meta.copy()
return type('enumhand', (), data)
task = {
'DIEID' : 'DIEID',
'BTIME' : 'BUILDTIME',
'FP' : 'FP',
'TRF' : 'TRF',
'PRBS' : 'PRBS',
'PRBS_LINE' : 'PRBS_LINE',
'L1' : 'L1'
}
Task = enum('Task', **task)