@@ -936,7 +936,7 @@ def _convert_(cls, name, module, filter, source=None, *, boundary=None, as_globa
936936 def _check_for_existing_members_ (mcls , class_name , bases ):
937937 for chain in bases :
938938 for base in chain .__mro__ :
939- if issubclass (base , Enum ) and base ._member_names_ :
939+ if isinstance (base , EnumType ) and base ._member_names_ :
940940 raise TypeError (
941941 "<enum %r> cannot extend %r"
942942 % (class_name , base )
@@ -958,7 +958,7 @@ def _get_mixins_(mcls, class_name, bases):
958958 # ensure final parent class is an Enum derivative, find any concrete
959959 # data type, and check that Enum has no members
960960 first_enum = bases [- 1 ]
961- if not issubclass (first_enum , Enum ):
961+ if not isinstance (first_enum , EnumType ):
962962 raise TypeError ("new enumerations should be created as "
963963 "`EnumName([mixin_type, ...] [data_type,] enum_type)`" )
964964 member_type = mcls ._find_data_type_ (class_name , bases ) or object
@@ -970,7 +970,7 @@ def _find_data_repr_(mcls, class_name, bases):
970970 for base in chain .__mro__ :
971971 if base is object :
972972 continue
973- elif issubclass (base , Enum ):
973+ elif isinstance (base , EnumType ):
974974 # if we hit an Enum, use it's _value_repr_
975975 return base ._value_repr_
976976 elif '__repr__' in base .__dict__ :
@@ -988,12 +988,12 @@ def _find_data_type_(mcls, class_name, bases):
988988 base_chain .add (base )
989989 if base is object :
990990 continue
991- elif issubclass (base , Enum ):
991+ elif isinstance (base , EnumType ):
992992 if base ._member_type_ is not object :
993993 data_types .add (base ._member_type_ )
994994 break
995995 elif '__new__' in base .__dict__ or '__init__' in base .__dict__ :
996- if issubclass (base , Enum ):
996+ if isinstance (base , EnumType ):
997997 continue
998998 data_types .add (candidate or base )
999999 break
@@ -1187,8 +1187,6 @@ def _missing_(cls, value):
11871187 return None
11881188
11891189 def __repr__ (self ):
1190- if not isinstance (self , Enum ):
1191- return repr (self )
11921190 v_repr = self .__class__ ._value_repr_ or repr
11931191 return "<%s.%s: %s>" % (self .__class__ .__name__ , self ._name_ , v_repr (self ._value_ ))
11941192
0 commit comments