Removed unused code

This commit is contained in:
Syrus Akbary 2016-06-14 22:26:18 -07:00
parent 46918d3ba0
commit 76ecd895e1
2 changed files with 9 additions and 51 deletions

View File

@ -1,41 +0,0 @@
import copy
from .get_graphql_type import get_graphql_type
from ..types.field import Field, InputField
from ..types.unmountedtype import UnmountedType
def extract_fields(cls, attrs):
fields = set()
_fields = list()
for attname, value in list(attrs.items()):
is_field = isinstance(value, (Field, InputField))
is_field_proxy = isinstance(value, UnmountedType)
if not (is_field or is_field_proxy):
continue
field = value.as_mounted(cls) if is_field_proxy else copy.copy(value)
field.attname = attname
field.parent = cls
fields.add(attname)
del attrs[attname]
_fields.append(field)
# All the fields are Graphene Fields or InputFields, so
# are orderable
return sorted(_fields)
def get_base_fields(cls, bases):
fields = set()
_fields = list()
for _class in bases:
for attname, field in get_graphql_type(_class).get_fields().items():
if attname in fields:
continue
field = copy.copy(field)
if isinstance(field, (Field, InputField)):
field.parent = cls
fields.add(attname)
_fields.append(field)
return _fields

View File

@ -1,11 +1,11 @@
from collections import OrderedDict from collections import OrderedDict
from graphql import GraphQLField, GraphQLString, GraphQLInterfaceType, GraphQLInt, GraphQLFloat from graphql import GraphQLField, GraphQLString, GraphQLInterfaceType, GraphQLInt, GraphQLFloat
from ..extract_fields import extract_fields, get_base_fields from ..get_fields import get_fields_from_attrs, get_fields_from_types
from ...types import Field, String, Argument, ObjectType from ...types import Field, String, Argument, ObjectType
def test_extract_fields_attrs(): def test_get_fields_from_attrs():
attrs = { attrs = {
'field_string': Field(String), 'field_string': Field(String),
'string': String(), 'string': String(),
@ -13,27 +13,26 @@ def test_extract_fields_attrs():
'argument': Argument(String), 'argument': Argument(String),
'graphql_field': GraphQLField(GraphQLString) 'graphql_field': GraphQLField(GraphQLString)
} }
extracted_fields = list(extract_fields(ObjectType, attrs)) extracted_fields = OrderedDict(get_fields_from_attrs(ObjectType, attrs))
assert [f.name for f in extracted_fields] == ['fieldString', 'string'] assert [f for f in extracted_fields.keys()] == ['field_string', 'string']
assert sorted(attrs.keys()) == ['argument', 'graphql_field', 'other']
def test_extract_fields(): def test_get_fields_from_types():
int_base = GraphQLInterfaceType('IntInterface', fields=OrderedDict([ int_base = GraphQLInterfaceType('IntInterface', fields=OrderedDict([
('int', GraphQLField(GraphQLInt)), ('int', GraphQLField(GraphQLInt)),
('num', GraphQLField(GraphQLInt)), ('num', GraphQLField(GraphQLInt)),
('extra', GraphQLField(GraphQLInt)) ('extra', GraphQLField(GraphQLInt))
])) ]))
float_base = GraphQLInterfaceType('IntInterface', fields=OrderedDict([ float_base = GraphQLInterfaceType('FloatInterface', fields=OrderedDict([
('float', GraphQLField(GraphQLFloat)), ('float', GraphQLField(GraphQLFloat)),
('num', GraphQLField(GraphQLFloat)), ('num', GraphQLField(GraphQLFloat)),
('extra', GraphQLField(GraphQLFloat)) ('extra', GraphQLField(GraphQLFloat))
])) ]))
bases = (int_base, float_base) bases = (int_base, float_base)
base_fields = list(get_base_fields(ObjectType, bases)) base_fields = OrderedDict(get_fields_from_types(bases))
assert [f.name for f in base_fields] == ['int', 'num', 'extra', 'float'] assert [f for f in base_fields.keys()] == ['int', 'num', 'extra', 'float']
assert [f.type for f in base_fields] == [ assert [f.type for f in base_fields.values()] == [
GraphQLInt, GraphQLInt,
GraphQLInt, GraphQLInt,
GraphQLInt, GraphQLInt,