as documented in the xsd
in addition fix https://github.com/galaxyproject/galaxy/issues/14324,
i.e. document the `separator` attribute of options
also doc that only 1MB is used and lines starting with `#` are always
ignored
for the case that a boolean is referred.
In this case the python string value of the parameter value
needs to be used as the value for the when tag which might be a
bit confusing.
The test is also extended such that:
- multiple (two) conditional actions are used in one output
- referring parameters in sections
Fix this mypy error for the galaxy-app package:
```
tests/app/jobs/dynamic_tool_destination/test_dynamic_tool_destination.py:5: error:
Module "testfixtures" does not explicitly export attribute "log_capture";
implicit reexport disabled [attr-defined]
from testfixtures import log_capture
^
```
Fix this mypy error for the galaxy-app package:
```
tests/app/jobs/dynamic_tool_destination/test_dynamic_tool_destination.py:5: error:
Module "testfixtures" does not explicitly export attribute "log_capture";
implicit reexport disabled [attr-defined]
from testfixtures import log_capture
^
```
The new flake8-bugbear 22.7.1 warns if a function defined inside a loop uses
a variable redefined in the loop, due to the late-binding closure gotcha:
https://docs.python-guide.org/writing/gotchas/#late-binding-closures
When possible/sensible, I've moved the function definition before the loop
(adding the variable(s) as parameters) which is clearly also a speed-up.
Most other cases are false alarms, e.g. if the function is used and
discarded within the loop iteration that defines it. In such cases, I've
annotated the offending lines with a `# noqa: B023`.
The only file where I've applied the suggested workaround of immediately
binding arguments is in `lib/galaxy/visualization/plugins/config_parser.py`
Also:
- Small refactorings, in particular to `scripts/apply_tags.py`
Add command to run a relocate script to the `build_command()` function.
Also update the `handle_outputs()` function (used by the relocate script)
to now use a CWL-specific `params.json` file, since the one created by
`setup_external_metadata()` is not yet available to the relocate script
if the metadata is set within a celery task.