mirror of
https://github.com/graphql-python/graphene.git
synced 2025-02-02 20:54:16 +03:00
Improved enum. Removed old @implements
This commit is contained in:
parent
995150bfa5
commit
80f98c5fd3
|
@ -66,14 +66,14 @@ class EnumTypeMeta(type):
|
|||
|
||||
def __call__(cls, *args, **kwargs):
|
||||
if cls is Enum:
|
||||
return cls.from_enum(PyEnum(*args, **kwargs))
|
||||
description = kwargs.pop('description', None)
|
||||
return cls.from_enum(PyEnum(*args, **kwargs), description=description)
|
||||
return super(EnumTypeMeta, cls).__call__(*args, **kwargs)
|
||||
|
||||
|
||||
class Enum(six.with_metaclass(EnumTypeMeta, UnmountedType)):
|
||||
|
||||
@classmethod
|
||||
def from_enum(cls, python_enum):
|
||||
class Meta:
|
||||
enum = python_enum
|
||||
def from_enum(cls, enum, description=None):
|
||||
Meta = type('Meta', (object,), {'enum': enum, 'description': description})
|
||||
return type(Meta.enum.__name__, (Enum,), {'Meta': Meta})
|
||||
|
|
|
@ -16,7 +16,6 @@ class Pet(ObjectType):
|
|||
type = String()
|
||||
|
||||
|
||||
# @implements(Character)
|
||||
class Human(ObjectType):
|
||||
|
||||
class Meta:
|
||||
|
|
Loading…
Reference in New Issue
Block a user