Skip to content

Commit

Permalink
feat: add version flag/action by passing version string to Arger
Browse files Browse the repository at this point in the history
  • Loading branch information
jnoortheen committed Nov 3, 2020
1 parent 9848e4e commit 286328b
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions arger/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ class Arger(ap.ArgumentParser):
def __init__(
self,
func: tp.Optional[tp.Callable] = None,
version: tp.Optional[str] = None,
_parsed_fn: tp.Optional[ParsedFunc] = None, # passed from subparser action
_level=0, # passed from subparser action
**kwargs,
Expand All @@ -28,7 +29,13 @@ def __init__(
Args:
func: A callable to parse root parser's arguments.
version: adds --version flag.
**kwargs: all the arguments that are supported by `ArgumentParser`
Examples:
adding version flag
version = '%(prog)s 2.0'
Arger() equals to Arger().add_argument('--version', action='version', version=version)
"""
kwargs.setdefault('formatter_class', ap.ArgumentDefaultsHelpFormatter)

Expand All @@ -40,6 +47,8 @@ def __init__(

super().__init__(**kwargs)

if version:
self.add_argument('--version', action='version', version=version)
self._add_args(_level)

def _add_args(self, level: int):
Expand Down

0 comments on commit 286328b

Please sign in to comment.