Source code for catalyst.contrib.utils.argparse

from typing import Optional
import argparse

[docs]def boolean_flag( parser: argparse.ArgumentParser, name: str, default: Optional[bool] = False, help: str = None, # noqa: WPS125 shorthand: str = None, ) -> None: """Add a boolean flag to a parser inplace. Examples: >>> parser = argparse.ArgumentParser() >>> boolean_flag( >>> parser, "flag", default=False, help="some flag", shorthand="f" >>> ) Args: parser: parser to add the flag to name: argument name --<name> will enable the flag, while --no-<name> will disable it default (bool, optional): default value of the flag help: help string for the flag shorthand: shorthand string for the argument """ dest = name.replace("-", "_") names = ["--" + name] if shorthand is not None: names.append("-" + shorthand) parser.add_argument( *names, action="store_true", default=default, dest=dest, help=help ) parser.add_argument("--no-" + name, action="store_false", dest=dest)
__all__ = ["boolean_flag"]