3
3
import typing
4
4
import uuid
5
5
from decimal import Decimal
6
- from typing import Any , Optional , Union , cast , Dict , TypeVar
6
+ from typing import Any , Dict , Optional , TypeVar , Union , cast
7
7
8
8
from sqlalchemy import types as sqa_types
9
9
from sqlalchemy .dialects import postgresql
@@ -101,12 +101,12 @@ def is_column_nullable(column):
101
101
102
102
103
103
def convert_sqlalchemy_relationship (
104
- relationship_prop ,
105
- obj_type ,
106
- connection_field_factory ,
107
- batching ,
108
- orm_field_name ,
109
- ** field_kwargs ,
104
+ relationship_prop ,
105
+ obj_type ,
106
+ connection_field_factory ,
107
+ batching ,
108
+ orm_field_name ,
109
+ ** field_kwargs ,
110
110
):
111
111
"""
112
112
:param sqlalchemy.RelationshipProperty relationship_prop:
@@ -147,7 +147,7 @@ def dynamic_type():
147
147
148
148
149
149
def _convert_o2o_or_m2o_relationship (
150
- relationship_prop , obj_type , batching , orm_field_name , ** field_kwargs
150
+ relationship_prop , obj_type , batching , orm_field_name , ** field_kwargs
151
151
):
152
152
"""
153
153
Convert one-to-one or many-to-one relationshsip. Return an object field.
@@ -175,7 +175,7 @@ def _convert_o2o_or_m2o_relationship(
175
175
176
176
177
177
def _convert_o2m_or_m2m_relationship (
178
- relationship_prop , obj_type , batching , connection_field_factory , ** field_kwargs
178
+ relationship_prop , obj_type , batching , connection_field_factory , ** field_kwargs
179
179
):
180
180
"""
181
181
Convert one-to-many or many-to-many relationshsip. Return a list field or a connection field.
@@ -281,11 +281,11 @@ def convert_sqlalchemy_column(column_prop, registry, resolver, **field_kwargs):
281
281
282
282
@singledispatchbymatchfunction
283
283
def convert_sqlalchemy_type ( # noqa
284
- type_arg : Any ,
285
- column : Optional [Union [MapperProperty , hybrid_property ]] = None ,
286
- registry : Registry = None ,
287
- replace_type_vars : typing .Dict [str , Any ] = None ,
288
- ** kwargs ,
284
+ type_arg : Any ,
285
+ column : Optional [Union [MapperProperty , hybrid_property ]] = None ,
286
+ registry : Registry = None ,
287
+ replace_type_vars : typing .Dict [str , Any ] = None ,
288
+ ** kwargs ,
289
289
):
290
290
if replace_type_vars and type_arg in replace_type_vars :
291
291
return replace_type_vars [type_arg ]
@@ -301,7 +301,7 @@ def convert_sqlalchemy_type( # noqa
301
301
302
302
@convert_sqlalchemy_type .register (safe_isinstance (DeclarativeMeta ))
303
303
def convert_sqlalchemy_model_using_registry (
304
- type_arg : Any , registry : Registry = None , ** kwargs
304
+ type_arg : Any , registry : Registry = None , ** kwargs
305
305
):
306
306
registry_ = registry or get_global_registry ()
307
307
@@ -353,35 +353,35 @@ def convert_column_to_string(type_arg: Any, **kwargs):
353
353
@convert_sqlalchemy_type .register (column_type_eq (sqa_utils .UUIDType ))
354
354
@convert_sqlalchemy_type .register (column_type_eq (uuid .UUID ))
355
355
def convert_column_to_uuid (
356
- type_arg : Any ,
357
- ** kwargs ,
356
+ type_arg : Any ,
357
+ ** kwargs ,
358
358
):
359
359
return graphene .UUID
360
360
361
361
362
362
@convert_sqlalchemy_type .register (column_type_eq (sqa_types .DateTime ))
363
363
@convert_sqlalchemy_type .register (column_type_eq (datetime .datetime ))
364
364
def convert_column_to_datetime (
365
- type_arg : Any ,
366
- ** kwargs ,
365
+ type_arg : Any ,
366
+ ** kwargs ,
367
367
):
368
368
return graphene .DateTime
369
369
370
370
371
371
@convert_sqlalchemy_type .register (column_type_eq (sqa_types .Time ))
372
372
@convert_sqlalchemy_type .register (column_type_eq (datetime .time ))
373
373
def convert_column_to_time (
374
- type_arg : Any ,
375
- ** kwargs ,
374
+ type_arg : Any ,
375
+ ** kwargs ,
376
376
):
377
377
return graphene .Time
378
378
379
379
380
380
@convert_sqlalchemy_type .register (column_type_eq (sqa_types .Date ))
381
381
@convert_sqlalchemy_type .register (column_type_eq (datetime .date ))
382
382
def convert_column_to_date (
383
- type_arg : Any ,
384
- ** kwargs ,
383
+ type_arg : Any ,
384
+ ** kwargs ,
385
385
):
386
386
return graphene .Date
387
387
@@ -390,10 +390,10 @@ def convert_column_to_date(
390
390
@convert_sqlalchemy_type .register (column_type_eq (sqa_types .Integer ))
391
391
@convert_sqlalchemy_type .register (column_type_eq (int ))
392
392
def convert_column_to_int_or_id (
393
- type_arg : Any ,
394
- column : Optional [Union [MapperProperty , hybrid_property ]] = None ,
395
- registry : Registry = None ,
396
- ** kwargs ,
393
+ type_arg : Any ,
394
+ column : Optional [Union [MapperProperty , hybrid_property ]] = None ,
395
+ registry : Registry = None ,
396
+ ** kwargs ,
397
397
):
398
398
# fixme drop the primary key processing from here in another pr
399
399
if column is not None :
@@ -405,8 +405,8 @@ def convert_column_to_int_or_id(
405
405
@convert_sqlalchemy_type .register (column_type_eq (sqa_types .Boolean ))
406
406
@convert_sqlalchemy_type .register (column_type_eq (bool ))
407
407
def convert_column_to_boolean (
408
- type_arg : Any ,
409
- ** kwargs ,
408
+ type_arg : Any ,
409
+ ** kwargs ,
410
410
):
411
411
return graphene .Boolean
412
412
@@ -416,19 +416,19 @@ def convert_column_to_boolean(
416
416
@convert_sqlalchemy_type .register (column_type_eq (sqa_types .Numeric ))
417
417
@convert_sqlalchemy_type .register (column_type_eq (sqa_types .BigInteger ))
418
418
def convert_column_to_float (
419
- type_arg : Any ,
420
- ** kwargs ,
419
+ type_arg : Any ,
420
+ ** kwargs ,
421
421
):
422
422
return graphene .Float
423
423
424
424
425
425
@convert_sqlalchemy_type .register (column_type_eq (postgresql .ENUM ))
426
426
@convert_sqlalchemy_type .register (column_type_eq (sqa_types .Enum ))
427
427
def convert_enum_to_enum (
428
- type_arg : Any ,
429
- column : Optional [Union [MapperProperty , hybrid_property ]] = None ,
430
- registry : Registry = None ,
431
- ** kwargs ,
428
+ type_arg : Any ,
429
+ column : Optional [Union [MapperProperty , hybrid_property ]] = None ,
430
+ registry : Registry = None ,
431
+ ** kwargs ,
432
432
):
433
433
if column is None or isinstance (column , hybrid_property ):
434
434
raise Exception ("SQL-Enum conversion requires a column" )
@@ -439,9 +439,9 @@ def convert_enum_to_enum(
439
439
# TODO Make ChoiceType conversion consistent with other enums
440
440
@convert_sqlalchemy_type .register (column_type_eq (sqa_utils .ChoiceType ))
441
441
def convert_choice_to_enum (
442
- type_arg : sqa_utils .ChoiceType ,
443
- column : Optional [Union [MapperProperty , hybrid_property ]] = None ,
444
- ** kwargs ,
442
+ type_arg : sqa_utils .ChoiceType ,
443
+ column : Optional [Union [MapperProperty , hybrid_property ]] = None ,
444
+ ** kwargs ,
445
445
):
446
446
if column is None or isinstance (column , hybrid_property ):
447
447
raise Exception ("ChoiceType conversion requires a column" )
@@ -457,8 +457,8 @@ def convert_choice_to_enum(
457
457
458
458
@convert_sqlalchemy_type .register (column_type_eq (sqa_utils .ScalarListType ))
459
459
def convert_scalar_list_to_list (
460
- type_arg : Any ,
461
- ** kwargs ,
460
+ type_arg : Any ,
461
+ ** kwargs ,
462
462
):
463
463
return graphene .List (graphene .String )
464
464
@@ -474,10 +474,10 @@ def init_array_list_recursive(inner_type, n):
474
474
@convert_sqlalchemy_type .register (column_type_eq (sqa_types .ARRAY ))
475
475
@convert_sqlalchemy_type .register (column_type_eq (postgresql .ARRAY ))
476
476
def convert_array_to_list (
477
- type_arg : Any ,
478
- column : Optional [Union [MapperProperty , hybrid_property ]] = None ,
479
- registry : Registry = None ,
480
- ** kwargs ,
477
+ type_arg : Any ,
478
+ column : Optional [Union [MapperProperty , hybrid_property ]] = None ,
479
+ registry : Registry = None ,
480
+ ** kwargs ,
481
481
):
482
482
if column is None or isinstance (column , hybrid_property ):
483
483
raise Exception ("SQL-Array conversion requires a column" )
@@ -496,27 +496,27 @@ def convert_array_to_list(
496
496
@convert_sqlalchemy_type .register (column_type_eq (postgresql .JSON ))
497
497
@convert_sqlalchemy_type .register (column_type_eq (postgresql .JSONB ))
498
498
def convert_json_to_string (
499
- type_arg : Any ,
500
- ** kwargs ,
499
+ type_arg : Any ,
500
+ ** kwargs ,
501
501
):
502
502
return JSONString
503
503
504
504
505
505
@convert_sqlalchemy_type .register (column_type_eq (sqa_utils .JSONType ))
506
506
@convert_sqlalchemy_type .register (column_type_eq (sqa_types .JSON ))
507
507
def convert_json_type_to_string (
508
- type_arg : Any ,
509
- ** kwargs ,
508
+ type_arg : Any ,
509
+ ** kwargs ,
510
510
):
511
511
return JSONString
512
512
513
513
514
514
@convert_sqlalchemy_type .register (column_type_eq (sqa_types .Variant ))
515
515
def convert_variant_to_impl_type (
516
- type_arg : sqa_types .Variant ,
517
- column : Optional [Union [MapperProperty , hybrid_property ]] = None ,
518
- registry : Registry = None ,
519
- ** kwargs ,
516
+ type_arg : sqa_types .Variant ,
517
+ column : Optional [Union [MapperProperty , hybrid_property ]] = None ,
518
+ registry : Registry = None ,
519
+ ** kwargs ,
520
520
):
521
521
if column is None or isinstance (column , hybrid_property ):
522
522
raise Exception ("Vaiant conversion requires a column" )
@@ -547,7 +547,7 @@ def is_union(type_arg: Any, **kwargs) -> bool:
547
547
548
548
549
549
def graphene_union_for_py_union (
550
- obj_types : typing .List [graphene .ObjectType ], registry
550
+ obj_types : typing .List [graphene .ObjectType ], registry
551
551
) -> graphene .Union :
552
552
union_type = registry .get_union_for_object_types (obj_types )
553
553
@@ -590,8 +590,8 @@ def convert_sqlalchemy_hybrid_property_union(type_arg: Any, **kwargs):
590
590
591
591
# Now check if every type is instance of an ObjectType
592
592
if not all (
593
- isinstance (graphene_type , type (graphene .ObjectType ))
594
- for graphene_type in graphene_types
593
+ isinstance (graphene_type , type (graphene .ObjectType ))
594
+ for graphene_type in graphene_types
595
595
):
596
596
raise ValueError (
597
597
"Cannot convert hybrid_property Union to graphene.Union: the Union contains scalars. "
0 commit comments