Unify and Abstract Code for Checking if File Looks Like a Tool #1368
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The toolshed, toolbox, and planemo all used different methods for quickly checking if a file is supposed to look like a tool previously. This unifies them into a single
looks_like_a_tool
method. Additionally, this makes the method more correct by handling the "enable_beta_tool_formats" config option.This PR also pulls in some some updates to the dictified representation of tools from my downstream work on dynamically splitting and merging collections using datatype methods. Even if we never expose the YAML format externally - that use of dynamically building a tool per datatype demonstrates the utility of allowing Galaxy to use the format internally. The real utility though is one of code design, helping ensure there is a strict differentiation between the layout of tools in a file and Galaxy's abstract description (the Tool class).