Refactor argument parsers to avoid duplication #55
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 arguments for the three matchmaps utilities are largely overlapping (and for
matchmaps
andmatchmaps.mr
, identical!!) but they all existed separately in the code base. This made adding or changing arguments time-intensive and error-prone. Inspired bycareless
, I have refactored things extensively. In this PR, I:_args.py
which declares the description for each function, a dictionary of base/mr args, a dictionary of ncs args, and a dictionary of common args_parsers.py
which imports the above from_args.py
and declares anargparse.ArgumentParser
object for each utilityparse_arguments()
function from each utility script, and instead just import the relevant parser from_parsers.py
cli.md
to point towards the new locations of the parsers