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

1# SPDX-FileCopyrightText: Copyright © 2022 Idiap Research Institute <contact@idiap.ch> 

2# 

3# SPDX-License-Identifier: BSD-3-Clause 

4 

5from __future__ import annotations # not required for Python >= 3.10 

6 

7import argparse 

8import sys 

9 

10 

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") 

18 

19 from . import check_packages 

20 

21 check_packages.add_parser(subparsers) 

22 

23 from . import dump_objects 

24 

25 dump_objects.add_parser(subparsers) 

26 

27 from . import update_catalog 

28 

29 update_catalog.add_parser(subparsers) 

30 

31 return parser 

32 

33 

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)