@@ -928,7 +928,7 @@ def _convert_(cls, name, module, filter, source=None, *, boundary=None, as_globa
928928 def _check_for_existing_members_ (mcls , class_name , bases ):
929929 for chain in bases :
930930 for base in chain .__mro__ :
931- if issubclass (base , Enum ) and base ._member_names_ :
931+ if isinstance (base , EnumType ) and base ._member_names_ :
932932 raise TypeError (
933933 "<enum %r> cannot extend %r"
934934 % (class_name , base )
@@ -947,7 +947,7 @@ def _get_mixins_(mcls, class_name, bases):
947947 # ensure final parent class is an Enum derivative, find any concrete
948948 # data type, and check that Enum has no members
949949 first_enum = bases [- 1 ]
950- if not issubclass (first_enum , Enum ):
950+ if not isinstance (first_enum , EnumType ):
951951 raise TypeError ("new enumerations should be created as "
952952 "`EnumName([mixin_type, ...] [data_type,] enum_type)`" )
953953 member_type = mcls ._find_data_type_ (class_name , bases ) or object
@@ -959,7 +959,7 @@ def _find_data_repr_(mcls, class_name, bases):
959959 for base in chain .__mro__ :
960960 if base is object :
961961 continue
962- elif issubclass (base , Enum ):
962+ elif isinstance (base , EnumType ):
963963 # if we hit an Enum, use it's _value_repr_
964964 return base ._value_repr_
965965 elif '__repr__' in base .__dict__ :
@@ -985,12 +985,12 @@ def _find_data_type_(mcls, class_name, bases):
985985 base_chain .add (base )
986986 if base is object :
987987 continue
988- elif issubclass (base , Enum ):
988+ elif isinstance (base , EnumType ):
989989 if base ._member_type_ is not object :
990990 data_types .add (base ._member_type_ )
991991 break
992992 elif '__new__' in base .__dict__ or '__init__' in base .__dict__ :
993- if issubclass (base , Enum ):
993+ if isinstance (base , EnumType ):
994994 continue
995995 data_types .add (candidate or base )
996996 break
@@ -1191,8 +1191,6 @@ def _missing_(cls, value):
11911191 return None
11921192
11931193 def __repr__ (self ):
1194- if not isinstance (self , Enum ):
1195- return repr (self )
11961194 v_repr = self .__class__ ._value_repr_ or repr
11971195 return "<%s.%s: %s>" % (self .__class__ .__name__ , self ._name_ , v_repr (self ._value_ ))
11981196
0 commit comments