def parse_args()

in dcrpm/main.py [0:0]


def parse_args():
    # type: () -> argparse.Namespace
    parser = argparse.ArgumentParser(
        prog="dcrpm", formatter_class=argparse.ArgumentDefaultsHelpFormatter
    )
    parser.add_argument(
        "--version", action="version", version="%(prog)s " + __version__
    )
    parser.add_argument(
        "--dry-run",
        action="store_true",
        help="Run in dry-run mode, do not execute any operations",
    )
    parser.add_argument(
        "--check-stuck-yum",
        action="store_true",
        help="Run stuck yum check and remediation",
    )
    parser.add_argument(
        "--rpm-path", metavar="PATH", default=which("rpm"), help="Path to rpm"
    )
    parser.add_argument(
        "--recover-path",
        metavar="PATH",
        default=which("db_recover"),
        help="Path to db_recover",
    )
    parser.add_argument(
        "--verify-path",
        metavar="PATH",
        default=which("db_verify"),
        help="Path to db_verify",
    )
    parser.add_argument(
        "--stat-path", metavar="PATH", default=which("db_stat"), help="Path to db_stat"
    )
    parser.add_argument(
        "--clean-yum-transactions",
        action="store_true",
        help="Clean stale yum transactions using yum-complete-transaction",
    )
    parser.add_argument(
        "--run-yum-clean", action="store_true", help="Check for yum clean failures"
    )
    parser.add_argument(
        "--run-yum-check",
        action="store_true",
        help='Use "yum check" to find rpmdb problems',
    )
    parser.add_argument(
        "--yum-complete-transaction-path",
        metavar="PATH",
        default="/usr/sbin/yum-complete-transaction",
        help="Path to yum-complete-transaction",
    )
    parser.add_argument(
        "--dbpath", metavar="PATH", default="/var/lib/rpm", help="Path to RPM database"
    )
    parser.add_argument(
        "--max-passes",
        type=int,
        metavar="N",
        default=DEFAULT_MAX_PASSES,
        help="Run N passes of checks/remediations",
    )
    parser.add_argument(
        "--minspace",
        type=int,
        metavar="BYTES",
        default=DEFAULT_MIN_REQUIRED_FREE_SPACE,
        help="Minimum free space in bytes required",
    )
    parser.add_argument(
        "-v", "--verbose", action="store_true", help="Log debug messages"
    )
    parser.add_argument(
        "-f",
        "--forensic",
        action="store_true",
        help="Collect debug output for forensic investigations",
    )
    parser.add_argument(
        "-l",
        "--logging-config-file",
        metavar="FILE",
        help="JSON file containing python logger configuration",
    )
    parser.add_argument(
        "--blacklist",
        nargs="+",
        default=["Filedigests", "Obsoletename", "Provideversion"],
        help="Databases to blacklist from db_verify",
    )
    return parser.parse_args()