示例#1
0
 def __call__(cls, value, *args, **kw):
     if isinstance(value, str):
         found = cls.findByUUID(value)
         if found != None:
             return found
     if isinstance(value, int):
         found = cls.findByHandle(value)
         if found != None:
             return found
     return EnumMeta.__call__(cls, value, *args, **kw)
示例#2
0
 def __call__(cls, value, names=None, module=None, typ=None):
     "look up a value object, either by name or value"
     if (names is None) and isinstance(value, str):
         return SymEnumMeta._lookUpByStr(cls, value)
     else:
         return EnumMeta.__call__(cls,
                                  value,
                                  names,
                                  module=module,
                                  type=typ)
示例#3
0
 def __call__(cls, value, names=None, module=None, typ=None):
     "look up a value object, either by name of value,"
     if (names is None) and isinstance(value, str):
         # map string name to instance, check for external name
         value = cls.__extNameMap__.toIntName(value)
         member = cls._member_map_.get(value)
         if member is None:
             raise ValueError("'%s' is not a member or alias of %s" % (value, cls.__name__))
         else:
             return member
     else:
         return EnumMeta.__call__(cls, value, names, module, typ)
示例#4
0
 def __call__(cls, value, names=None, module=None, typ=None):
     "look up a value object, either by name of value,"
     if (names is None) and isinstance(value, str):
         # map string name to instance, check for external name
         value = cls.__extNameMap__.toIntName(value)
         member = cls._member_map_.get(value)
         if member is None:
             raise ValueError("'%s' is not a member or alias of %s" %
                              (value, cls.__name__))
         else:
             return member
     else:
         return EnumMeta.__call__(cls, value, names, module, typ)
示例#5
0
文件: enum.py 项目: mammo0/LED-Matrix
 def __call__(cls,
              value,
              names=None,
              *,
              module=None,
              qualname=None,
              type=None,
              start=1):  # noqa
     return EnumMeta.__call__(cls.__get_dynamic_enum_class(
         cls.dynamic_enum_dict),
                              value,
                              names=names,
                              module=module,
                              qualname=qualname,
                              type=type,
                              start=start)
示例#6
0
文件: enum.py 项目: mammo0/LED-Matrix
 def __get_dynamic_enum_class(cls, enum_dict):
     # avoid enum extension error if accessing via the _empty attribute
     if (len(cls._member_names_) == 1
             and cls._member_names_[0] == DynamicEnumMeta.empty_attr):
         cls._member_names_.clear()
     return EnumMeta.__call__(cls, cls.__name__, names=enum_dict)
示例#7
0
 def __call__(cls, value, *args, **kw):
     strval = str(value).upper()
     return EnumMeta.__call__(cls, strval, *args, **kw)