-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Description
The spookiest file in Galaxy lib/galaxy/tools/parameters/basic.py has a mix of parsing XML elements and parsing the abstractions in galaxy.tool_util.parser (e.g. ToolSource and its child components). Ideally these would be pre-parsed and basic.py would just consume the parameter models. Various pieces of Galaxy still call on basic.py stuff directly and parse XML fragments - so this might not be as straight forward as one would hope.
In order to consume both ToolSource stuff and XML - I've implemented this ensure_input_source abstraction - imported here https://github.com/galaxyproject/galaxy/blob/dev/lib/galaxy/tools/parameters/basic.py#L44C57-L44C76. I guess that could be extended to promote both input sources and XML into the parameter meta model and then the components could just consume the meta model. It wouldn't require cleaning up all the other code that uses basic.py but maybe those things should be cleaned up.
xref #18524 (comment)