Skip to content

Commit 4b1558b

Browse files
committed
Move definition of DatasetCollectionDescriptionT before its use
Fix the following error on py37-test_galaxy_packages_for_pulsar tests: ``` FAILED tests/tool_util/test_input_models.py::test_input_collection_type - pydantic.errors.PydanticUserError: `ParsedTool` is not fully defined; you should define `DatasetCollectionDescriptionT`, then call `ParsedTool.model_rebuild()`. ``` Backport of commit bb87560 .
1 parent 36ef67b commit 4b1558b

File tree

1 file changed

+29
-29
lines changed

1 file changed

+29
-29
lines changed

lib/galaxy/tool_util/parser/output_models.py

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,35 @@ class ToolOutputBaseModel(BaseModel):
2929
hidden: bool
3030

3131

32+
DiscoverViaT = Literal["tool_provided_metadata", "pattern"]
33+
SortKeyT = Literal["filename", "name", "designation", "dbkey"]
34+
SortCompT = Literal["lexical", "numeric"]
35+
36+
37+
class DatasetCollectionDescription(BaseModel):
38+
discover_via: DiscoverViaT
39+
format: Optional[str]
40+
visible: bool
41+
assign_primary_output: bool
42+
directory: Optional[str]
43+
recurse: bool
44+
match_relative_path: bool
45+
46+
47+
class ToolProvidedMetadataDatasetCollection(DatasetCollectionDescription):
48+
discover_via: Literal["tool_provided_metadata"]
49+
50+
51+
class FilePatternDatasetCollectionDescription(DatasetCollectionDescription):
52+
discover_via: Literal["pattern"]
53+
sort_key: SortKeyT
54+
sort_comp: SortCompT
55+
pattern: str
56+
57+
58+
DatasetCollectionDescriptionT = Union[FilePatternDatasetCollectionDescription, ToolProvidedMetadataDatasetCollection]
59+
60+
3261
class ToolOutputDataset(ToolOutputBaseModel):
3362
type: Literal["data"]
3463
format: str
@@ -70,35 +99,6 @@ class ToolOutputBoolean(ToolOutputSimple):
7099
type: Literal["boolean"]
71100

72101

73-
DiscoverViaT = Literal["tool_provided_metadata", "pattern"]
74-
SortKeyT = Literal["filename", "name", "designation", "dbkey"]
75-
SortCompT = Literal["lexical", "numeric"]
76-
77-
78-
class DatasetCollectionDescription(BaseModel):
79-
discover_via: DiscoverViaT
80-
format: Optional[str]
81-
visible: bool
82-
assign_primary_output: bool
83-
directory: Optional[str]
84-
recurse: bool
85-
match_relative_path: bool
86-
87-
88-
class ToolProvidedMetadataDatasetCollection(DatasetCollectionDescription):
89-
discover_via: Literal["tool_provided_metadata"]
90-
91-
92-
class FilePatternDatasetCollectionDescription(DatasetCollectionDescription):
93-
discover_via: Literal["pattern"]
94-
sort_key: SortKeyT
95-
sort_comp: SortCompT
96-
pattern: str
97-
98-
99-
DatasetCollectionDescriptionT = Union[FilePatternDatasetCollectionDescription, ToolProvidedMetadataDatasetCollection]
100-
101-
102102
ToolOutputT = Union[
103103
ToolOutputDataset, ToolOutputCollection, ToolOutputText, ToolOutputInteger, ToolOutputFloat, ToolOutputBoolean
104104
]

0 commit comments

Comments
 (0)