Coverage for src/auto_intersphinx/cli.py: 100%
17 statements
« prev ^ index » next coverage.py v7.4.3, created at 2024-04-22 14:48 +0200
« prev ^ index » next coverage.py v7.4.3, created at 2024-04-22 14:48 +0200
1# SPDX-FileCopyrightText: Copyright © 2022 Idiap Research Institute <contact@idiap.ch>
2#
3# SPDX-License-Identifier: BSD-3-Clause
5from __future__ import annotations # not required for Python >= 3.10
7import argparse
8import sys
11def make_parser() -> argparse.ArgumentParser:
12 """Creates the main parser."""
13 parser = argparse.ArgumentParser(
14 prog=sys.argv[0],
15 description="Commands to handle sphinx catalogs.",
16 )
17 subparsers = parser.add_subparsers(help="commands")
19 from . import check_packages
21 check_packages.add_parser(subparsers)
23 from . import dump_objects
25 dump_objects.add_parser(subparsers)
27 from . import update_catalog
29 update_catalog.add_parser(subparsers)
31 return parser
34def main(argv: list[str] | None = None) -> None:
35 # parse and execute
36 parser = make_parser()
37 args = parser.parse_args(argv)
38 args.func(args)