mirror of
https://github.com/graphql-python/graphene.git
synced 2025-02-18 12:30:37 +03:00
Fixed Python 3.5 issues with Enum
This commit is contained in:
parent
6321c52bd2
commit
3fbc3281a2
|
@ -27,6 +27,10 @@ class EnumOptions(BaseOptions):
|
||||||
|
|
||||||
|
|
||||||
class EnumMeta(SubclassWithMeta_Meta):
|
class EnumMeta(SubclassWithMeta_Meta):
|
||||||
|
def __new__(cls, name, bases, classdict, **options):
|
||||||
|
enum = PyEnum(cls.__name__, OrderedDict(classdict, __eq__=eq_enum))
|
||||||
|
return SubclassWithMeta_Meta.__new__(cls, name, bases, OrderedDict(classdict, __enum__=enum), **options)
|
||||||
|
|
||||||
def get(cls, value):
|
def get(cls, value):
|
||||||
return cls._meta.enum(value)
|
return cls._meta.enum(value)
|
||||||
|
|
||||||
|
@ -52,7 +56,7 @@ class Enum(six.with_metaclass(EnumMeta, UnmountedType, BaseType)):
|
||||||
@classmethod
|
@classmethod
|
||||||
def __init_subclass_with_meta__(cls, enum=None, **options):
|
def __init_subclass_with_meta__(cls, enum=None, **options):
|
||||||
_meta = EnumOptions(cls)
|
_meta = EnumOptions(cls)
|
||||||
_meta.enum = enum or PyEnum(cls.__name__, OrderedDict(cls.__dict__, __eq__=eq_enum))
|
_meta.enum = enum or cls.__enum__
|
||||||
for key, value in _meta.enum.__members__.items():
|
for key, value in _meta.enum.__members__.items():
|
||||||
setattr(cls, key, value)
|
setattr(cls, key, value)
|
||||||
super(Enum, cls).__init_subclass_with_meta__(_meta=_meta, **options)
|
super(Enum, cls).__init_subclass_with_meta__(_meta=_meta, **options)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user