From 7e09571a3332126d923ef7f2797a31e497d0a433 Mon Sep 17 00:00:00 2001 From: Dmitry Semenov Date: Sat, 23 Jul 2022 21:02:47 +0300 Subject: [PATCH] Fix inline fragments in lists --- pygraphic/_gql_type.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pygraphic/_gql_type.py b/pygraphic/_gql_type.py index ae968e2..934d8c4 100644 --- a/pygraphic/_gql_type.py +++ b/pygraphic/_gql_type.py @@ -19,6 +19,10 @@ def generate_query_lines(cls, nest_level: int = 0) -> Iterator[str]: for field_name, field_type in fields.items(): field = cls.__fields__[field_name] params = "".join(_gen_parameter_string(field.field_info.extra)) + if typing.get_origin(field_type) is list: + args = typing.get_args(field_type) + assert len(args) == 1 + field_type = args[0] if typing.get_origin(field_type) is UnionType: sub_types = typing.get_args(field_type) yield " " * nest_level + field.alias + params + " {" @@ -34,10 +38,6 @@ def generate_query_lines(cls, nest_level: int = 0) -> Iterator[str]: yield " " * (nest_level + 1) + "}" yield " " * nest_level + "}" continue - if typing.get_origin(field_type) is list: - args = typing.get_args(field_type) - assert len(args) == 1 - field_type = args[0] if not inspect.isclass(field_type): raise Exception(f"Type {field_type} not supported") if issubclass(field_type, GQLType):