Skip to content

Commit 174e838

Browse files
jmchiltonnsoranzo
authored andcommitted
Work around mypy limitations around special forms vs. types.
1 parent 947404b commit 174e838

1 file changed

Lines changed: 22 additions & 14 deletions

File tree

lib/galaxy/tool_util_models/parameters.py

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -540,17 +540,21 @@ def multi_data_discriminator(v: Any) -> str:
540540
return ""
541541

542542

543+
def tag(field: Type, tag: str) -> Type:
544+
return Annotated[field, Tag(tag)] # type: ignore[return-value]
545+
546+
543547
MultiDataInstanceDiscriminator = Discriminator(multi_data_discriminator)
544548
MultiDataInstance: Type = cast(
545549
Type,
546550
Annotated[
547551
union_type(
548552
[
549-
Annotated[DataRequestHda, Tag("data_request_hda")],
550-
Annotated[DataRequestLdda, Tag("data_request_ldda")],
551-
Annotated[DataRequestHdca, Tag("data_request_hdca")],
552-
Annotated[DataRequestUri, Tag("data_request_uri")],
553-
Annotated[DataRequestCollectionUri, Tag("data_request_collection_uri")],
553+
tag(DataRequestHda, "data_request_hda"),
554+
tag(DataRequestLdda, "data_request_ldda"),
555+
tag(DataRequestHdca, "data_request_hdca"),
556+
tag(DataRequestUri, "data_request_uri"),
557+
tag(DataRequestCollectionUri, "data_request_collection_uri"),
554558
]
555559
),
556560
Field(discriminator=MultiDataInstanceDiscriminator),
@@ -614,13 +618,15 @@ class DataCollectionPaired(StrictModel):
614618
DataRequestInternal: Type = cast(
615619
Type,
616620
Annotated[
617-
Union[
618-
Annotated[DataRequestInternalHda, Tag("data_request_hda")],
619-
Annotated[DataRequestInternalLdda, Tag("data_request_ldda")],
620-
Annotated[DataRequestInternalHdca, Tag("data_request_hdca")],
621-
Annotated[DataRequestUri, Tag("data_request_uri")],
622-
Annotated[DataRequestCollectionUri, Tag("data_request_collection_uri")],
623-
],
621+
union_type(
622+
[
623+
tag(DataRequestInternalHda, "data_request_hda"),
624+
tag(DataRequestInternalLdda, "data_request_ldda"),
625+
tag(DataRequestInternalHdca, "data_request_hdca"),
626+
tag(DataRequestUri, "data_request_uri"),
627+
tag(DataRequestCollectionUri, "data_request_collection_uri"),
628+
]
629+
),
624630
Field(discriminator=MultiDataInstanceDiscriminator),
625631
],
626632
)
@@ -761,15 +767,17 @@ class DataCollectionRequest(StrictModel):
761767
id: StrictStr
762768

763769

764-
DataCollectionRequestOrCollectionUri = Union[DataCollectionRequest, DataRequestCollectionUri]
770+
DataCollectionRequestOrCollectionUri: Type = union_type([DataCollectionRequest, DataRequestCollectionUri])
765771

766772

767773
class DataCollectionRequestInternal(StrictModel):
768774
src: CollectionStrT
769775
id: StrictInt
770776

771777

772-
DataCollectionRequestInternalOrCollectionUri = Union[DataCollectionRequestInternal, DataRequestCollectionUri]
778+
DataCollectionRequestInternalOrCollectionUri: Type = union_type(
779+
[DataCollectionRequestInternal, DataRequestCollectionUri]
780+
)
773781
CollectionAdapterSrcT = Literal["CollectionAdapter"]
774782

775783

0 commit comments

Comments
 (0)