Skip to content

Refactor Tool Parameter Parsing #18537

@jmchilton

Description

@jmchilton

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/toolskind/refactoringcleanup or refactoring of existing code, no functional changes

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions