4 def __new__(cls, enum, name, value, *args, **kwargs):
5 test = super(cls, cls).__new__(cls,value)
6 test.__doc__ = name+
' : int'
11 return f
'<{self.__enum}.{self.__name}: {int(self)}>'
13 def managed_attribute(name):
16 return self._data[name]
20 def __init__(self,name,values):
21 self.__doc__ = name+
' : Enum'+name
23 self._data = {k:EnumItem(name,k,v)
for v,k
in values.items()}
24 for v,k
in values.items():
25 setattr(self.__class__, k, managed_attribute(k))
27 return f
"<enum {self.__name__} : [{', '.join([f'{k}={int(v)}' for k,v in sorted(self._data.items(),key=lambda i:i[1])])}]>"
29 r"""to_dict(Enum self) -> dict"""
30 return {k: int(v)
for k, v
in self._data.items()}
31 def to_invert_dict(self):
32 r"""to_invert_dict(Enum self) -> dict"""
33 return {int(v): k
for k, v
in self._data.items()}
35 return Enum(name,values)
37/*isigen:insert
@SWIGenumDeclarations'''
38 tmpAllEnum = {'State':dict(enumerate(sorted([s[
"name"]
for s
in builderData[
"cell"][
"States"]])))}
39 tmpAllEnum.update({
'Type':dict(enumerate(sorted(builderData[
"cellTypes"])))})
40 if "enums" in builderData:
41 tmpAllEnum.update({upperFirst(name): dict(enumerate(sorted(listV)))
for name, listV
in builderData[
"enums"].items()})
42 print(f
'enumList = {tmpAllEnum}')
44for enumName,enumValues in enumList.items():
45 globals()[enumName] = IsicellEnum(enumName,enumValues)
46del enumName,IsicellEnum,enumValues,enumList
def IsicellEnum(name, values)