@@ -936,7 +936,7 @@ def _convert_(cls, name, module, filter, source=None, *, boundary=None, as_globa
936
936
def _check_for_existing_members_ (mcls , class_name , bases ):
937
937
for chain in bases :
938
938
for base in chain .__mro__ :
939
- if issubclass (base , Enum ) and base ._member_names_ :
939
+ if isinstance (base , EnumType ) and base ._member_names_ :
940
940
raise TypeError (
941
941
"<enum %r> cannot extend %r"
942
942
% (class_name , base )
@@ -958,7 +958,7 @@ def _get_mixins_(mcls, class_name, bases):
958
958
# ensure final parent class is an Enum derivative, find any concrete
959
959
# data type, and check that Enum has no members
960
960
first_enum = bases [- 1 ]
961
- if not issubclass (first_enum , Enum ):
961
+ if not isinstance (first_enum , EnumType ):
962
962
raise TypeError ("new enumerations should be created as "
963
963
"`EnumName([mixin_type, ...] [data_type,] enum_type)`" )
964
964
member_type = mcls ._find_data_type_ (class_name , bases ) or object
@@ -970,7 +970,7 @@ def _find_data_repr_(mcls, class_name, bases):
970
970
for base in chain .__mro__ :
971
971
if base is object :
972
972
continue
973
- elif issubclass (base , Enum ):
973
+ elif isinstance (base , EnumType ):
974
974
# if we hit an Enum, use it's _value_repr_
975
975
return base ._value_repr_
976
976
elif '__repr__' in base .__dict__ :
@@ -988,12 +988,12 @@ def _find_data_type_(mcls, class_name, bases):
988
988
base_chain .add (base )
989
989
if base is object :
990
990
continue
991
- elif issubclass (base , Enum ):
991
+ elif isinstance (base , EnumType ):
992
992
if base ._member_type_ is not object :
993
993
data_types .add (base ._member_type_ )
994
994
break
995
995
elif '__new__' in base .__dict__ or '__init__' in base .__dict__ :
996
- if issubclass (base , Enum ):
996
+ if isinstance (base , EnumType ):
997
997
continue
998
998
data_types .add (candidate or base )
999
999
break
@@ -1187,8 +1187,6 @@ def _missing_(cls, value):
1187
1187
return None
1188
1188
1189
1189
def __repr__ (self ):
1190
- if not isinstance (self , Enum ):
1191
- return repr (self )
1192
1190
v_repr = self .__class__ ._value_repr_ or repr
1193
1191
return "<%s.%s: %s>" % (self .__class__ .__name__ , self ._name_ , v_repr (self ._value_ ))
1194
1192
0 commit comments