mirror of
				https://github.com/graphql-python/graphene.git
				synced 2025-11-04 09:57:41 +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