@@ -928,7 +928,7 @@ def _convert_(cls, name, module, filter, source=None, *, boundary=None, as_globa
928
928
def _check_for_existing_members_ (mcls , class_name , bases ):
929
929
for chain in bases :
930
930
for base in chain .__mro__ :
931
- if issubclass (base , Enum ) and base ._member_names_ :
931
+ if isinstance (base , EnumType ) and base ._member_names_ :
932
932
raise TypeError (
933
933
"<enum %r> cannot extend %r"
934
934
% (class_name , base )
@@ -947,7 +947,7 @@ def _get_mixins_(mcls, class_name, bases):
947
947
# ensure final parent class is an Enum derivative, find any concrete
948
948
# data type, and check that Enum has no members
949
949
first_enum = bases [- 1 ]
950
- if not issubclass (first_enum , Enum ):
950
+ if not isinstance (first_enum , EnumType ):
951
951
raise TypeError ("new enumerations should be created as "
952
952
"`EnumName([mixin_type, ...] [data_type,] enum_type)`" )
953
953
member_type = mcls ._find_data_type_ (class_name , bases ) or object
@@ -959,7 +959,7 @@ def _find_data_repr_(mcls, class_name, bases):
959
959
for base in chain .__mro__ :
960
960
if base is object :
961
961
continue
962
- elif issubclass (base , Enum ):
962
+ elif isinstance (base , EnumType ):
963
963
# if we hit an Enum, use it's _value_repr_
964
964
return base ._value_repr_
965
965
elif '__repr__' in base .__dict__ :
@@ -985,12 +985,12 @@ def _find_data_type_(mcls, class_name, bases):
985
985
base_chain .add (base )
986
986
if base is object :
987
987
continue
988
- elif issubclass (base , Enum ):
988
+ elif isinstance (base , EnumType ):
989
989
if base ._member_type_ is not object :
990
990
data_types .add (base ._member_type_ )
991
991
break
992
992
elif '__new__' in base .__dict__ or '__init__' in base .__dict__ :
993
- if issubclass (base , Enum ):
993
+ if isinstance (base , EnumType ):
994
994
continue
995
995
data_types .add (candidate or base )
996
996
break
@@ -1191,8 +1191,6 @@ def _missing_(cls, value):
1191
1191
return None
1192
1192
1193
1193
def __repr__ (self ):
1194
- if not isinstance (self , Enum ):
1195
- return repr (self )
1196
1194
v_repr = self .__class__ ._value_repr_ or repr
1197
1195
return "<%s.%s: %s>" % (self .__class__ .__name__ , self ._name_ , v_repr (self ._value_ ))
1198
1196
0 commit comments