|
12 | 12 | import sys
|
13 | 13 | import traceback
|
14 | 14 | from os import path
|
15 |
| -from typing import Any, TextIO |
| 15 | +from typing import TYPE_CHECKING, Any, TextIO |
16 | 16 |
|
17 | 17 | from docutils.utils import SystemMessage
|
18 | 18 |
|
|
32 | 32 | from sphinx.util.exceptions import format_exception_cut_frames, save_traceback
|
33 | 33 | from sphinx.util.osutil import ensuredir
|
34 | 34 |
|
| 35 | +if TYPE_CHECKING: |
| 36 | + from collections.abc import Sequence |
| 37 | + |
35 | 38 |
|
36 | 39 | def handle_exception(
|
37 | 40 | app: Sphinx | None, args: Any, exception: BaseException, stderr: TextIO = sys.stderr,
|
@@ -204,13 +207,13 @@ def get_parser() -> argparse.ArgumentParser:
|
204 | 207 | return parser
|
205 | 208 |
|
206 | 209 |
|
207 |
| -def make_main(argv: list[str]) -> int: |
| 210 | +def make_main(argv: Sequence[str]) -> int: |
208 | 211 | """Sphinx build "make mode" entry."""
|
209 | 212 | from sphinx.cmd import make_mode
|
210 | 213 | return make_mode.run_make_mode(argv[1:])
|
211 | 214 |
|
212 | 215 |
|
213 |
| -def _parse_arguments(argv: list[str]) -> argparse.Namespace: |
| 216 | +def _parse_arguments(argv: Sequence[str]) -> argparse.Namespace: |
214 | 217 | parser = get_parser()
|
215 | 218 | args = parser.parse_args(argv)
|
216 | 219 |
|
@@ -279,7 +282,7 @@ def _parse_arguments(argv: list[str]) -> argparse.Namespace:
|
279 | 282 | return args
|
280 | 283 |
|
281 | 284 |
|
282 |
| -def build_main(argv: list[str]) -> int: |
| 285 | +def build_main(argv: Sequence[str]) -> int: |
283 | 286 | """Sphinx build "main" command-line entry."""
|
284 | 287 | args = _parse_arguments(argv)
|
285 | 288 |
|
@@ -319,10 +322,13 @@ def _bug_report_info() -> int:
|
319 | 322 | return 0
|
320 | 323 |
|
321 | 324 |
|
322 |
| -def main(argv: list[str], /) -> int: |
| 325 | +def main(argv: Sequence[str] = (), /) -> int: |
323 | 326 | locale.setlocale(locale.LC_ALL, '')
|
324 | 327 | sphinx.locale.init_console()
|
325 | 328 |
|
| 329 | + if not argv: |
| 330 | + argv = sys.argv[1:] |
| 331 | + |
326 | 332 | if argv[:1] == ['--bug-report']:
|
327 | 333 | return _bug_report_info()
|
328 | 334 | if argv[:1] == ['-M']:
|
|
0 commit comments