Refactor parameters #17
Merged
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.
Previously, the
getfunction forOPSStorageLoadSingle(objects that try to guess which thing was desired if no CLI value is provided) had a high degree of complexity.But basically, what was happening internally was that, for each specific parameter, the code tries a prioritized sequence of strategies -- places to look for an object. If that doesn't work, then it goes to the next strategy.
This has more directly implemented that idea. For each parameter, there is a set of strategies to use if the command line receives a value, and another to use if there is no command line value. The resulting code is a little longer, but easier to interpret and much more flexible/resusable. And looking at the parameter definitions, it is much easier to understand what will happen for each parameter.