From 37a454b83138e9fc7525af0806654e0de774f984 Mon Sep 17 00:00:00 2001 From: Syrus Akbary Date: Sun, 6 Dec 2015 15:49:54 -0800 Subject: [PATCH 1/2] Renamed BaseType to InstanceType for code clarity --- graphene/__init__.py | 4 ++-- graphene/core/__init__.py | 4 ++-- graphene/core/schema.py | 4 ++-- graphene/core/types/__init__.py | 4 ++-- graphene/core/types/argument.py | 4 ++-- graphene/core/types/base.py | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/graphene/__init__.py b/graphene/__init__.py index 88404d62..71066499 100644 --- a/graphene/__init__.py +++ b/graphene/__init__.py @@ -11,7 +11,7 @@ from .core import ( Interface, Mutation, Scalar, - BaseType, + InstanceType, LazyType, Argument, Field, @@ -51,7 +51,7 @@ __all__ = [ 'NonNull', 'signals', 'Schema', - 'BaseType', + 'InstanceType', 'LazyType', 'ObjectType', 'InputObjectType', diff --git a/graphene/core/__init__.py b/graphene/core/__init__.py index d27a72bb..9e8c7108 100644 --- a/graphene/core/__init__.py +++ b/graphene/core/__init__.py @@ -11,7 +11,7 @@ from .classtypes import ( ) from .types import ( - BaseType, + InstanceType, LazyType, Argument, Field, @@ -35,7 +35,7 @@ __all__ = [ 'List', 'NonNull', 'Schema', - 'BaseType', + 'InstanceType', 'LazyType', 'ObjectType', 'InputObjectType', diff --git a/graphene/core/schema.py b/graphene/core/schema.py index a8ef29e3..8a1e1b7a 100644 --- a/graphene/core/schema.py +++ b/graphene/core/schema.py @@ -11,7 +11,7 @@ from graphql.core.utils.schema_printer import print_schema from graphene import signals from .classtypes.base import ClassType -from .types.base import BaseType +from .types.base import InstanceType class GraphQLSchema(_GraphQLSchema): @@ -42,7 +42,7 @@ class Schema(object): if not _type: return is_classtype = inspect.isclass(_type) and issubclass(_type, ClassType) - is_instancetype = isinstance(_type, BaseType) + is_instancetype = isinstance(_type, InstanceType) if is_classtype or is_instancetype: if _type not in self._types: internal_type = _type.internal_type(self) diff --git a/graphene/core/types/__init__.py b/graphene/core/types/__init__.py index 0ffa52bb..51512ec4 100644 --- a/graphene/core/types/__init__.py +++ b/graphene/core/types/__init__.py @@ -1,4 +1,4 @@ -from .base import BaseType, LazyType, OrderedType +from .base import InstanceType, LazyType, OrderedType from .argument import Argument, ArgumentsGroup, to_arguments from .definitions import List, NonNull # Compatibility import @@ -8,7 +8,7 @@ from .scalars import String, ID, Boolean, Int, Float from .field import Field, InputField __all__ = [ - 'BaseType', + 'InstanceType', 'LazyType', 'OrderedType', 'Argument', diff --git a/graphene/core/types/argument.py b/graphene/core/types/argument.py index 0892c446..7eb77770 100644 --- a/graphene/core/types/argument.py +++ b/graphene/core/types/argument.py @@ -5,7 +5,7 @@ from itertools import chain from graphql.core.type import GraphQLArgument from ...utils import ProxySnakeDict, to_camel_case -from .base import ArgumentType, BaseType, OrderedType +from .base import ArgumentType, InstanceType, OrderedType class Argument(OrderedType): @@ -27,7 +27,7 @@ class Argument(OrderedType): return self.name -class ArgumentsGroup(BaseType): +class ArgumentsGroup(InstanceType): def __init__(self, *args, **kwargs): arguments = to_arguments(*args, **kwargs) diff --git a/graphene/core/types/base.py b/graphene/core/types/base.py index 2b4078e4..8cfa603f 100644 --- a/graphene/core/types/base.py +++ b/graphene/core/types/base.py @@ -3,14 +3,14 @@ from functools import total_ordering import six -class BaseType(object): +class InstanceType(object): @classmethod def internal_type(cls, schema): return getattr(cls, 'T', None) -class MountType(BaseType): +class MountType(InstanceType): parent = None def mount(self, cls): From 2724025a5b4029f36fb4cc6a388dfbf17f31d009 Mon Sep 17 00:00:00 2001 From: Syrus Akbary Date: Sun, 6 Dec 2015 15:53:56 -0800 Subject: [PATCH 2/2] Improved ScalarTypes code --- graphene/core/types/base.py | 5 ++--- graphene/core/types/scalars.py | 25 +++++++++++++++---------- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/graphene/core/types/base.py b/graphene/core/types/base.py index 8cfa603f..35f93267 100644 --- a/graphene/core/types/base.py +++ b/graphene/core/types/base.py @@ -5,9 +5,8 @@ import six class InstanceType(object): - @classmethod - def internal_type(cls, schema): - return getattr(cls, 'T', None) + def internal_type(self, schema): + raise NotImplementedError("internal_type for type {} is not implemented".format(self.__class__.__name__)) class MountType(InstanceType): diff --git a/graphene/core/types/scalars.py b/graphene/core/types/scalars.py index d0d315b4..a87ddea2 100644 --- a/graphene/core/types/scalars.py +++ b/graphene/core/types/scalars.py @@ -4,21 +4,26 @@ from graphql.core.type import (GraphQLBoolean, GraphQLFloat, GraphQLID, from .base import MountedType -class String(MountedType): - T = GraphQLString +class ScalarType(MountedType): + def internal_type(self, schema): + return self._internal_type -class Int(MountedType): - T = GraphQLInt +class String(ScalarType): + _internal_type = GraphQLString -class Boolean(MountedType): - T = GraphQLBoolean +class Int(ScalarType): + _internal_type = GraphQLInt -class ID(MountedType): - T = GraphQLID +class Boolean(ScalarType): + _internal_type = GraphQLBoolean -class Float(MountedType): - T = GraphQLFloat +class ID(ScalarType): + _internal_type = GraphQLID + + +class Float(ScalarType): + _internal_type = GraphQLFloat