mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Add `sphinx-build --bug-report
`
This commit is contained in:
parent
fa6d42597f
commit
3e04952a87
@ -195,9 +195,7 @@ def make_main(argv: List[str] = sys.argv[1:]) -> int:
|
|||||||
return make_mode.run_make_mode(argv[1:])
|
return make_mode.run_make_mode(argv[1:])
|
||||||
|
|
||||||
|
|
||||||
def build_main(argv: List[str] = sys.argv[1:]) -> int:
|
def _parse_arguments(argv: List[str] = sys.argv[1:]) -> argparse.Namespace:
|
||||||
"""Sphinx build "main" command-line entry."""
|
|
||||||
|
|
||||||
parser = get_parser()
|
parser = get_parser()
|
||||||
args = parser.parse_args(argv)
|
args = parser.parse_args(argv)
|
||||||
|
|
||||||
@ -236,6 +234,10 @@ def build_main(argv: List[str] = sys.argv[1:]) -> int:
|
|||||||
warning = Tee(warning, warnfp) # type: ignore
|
warning = Tee(warning, warnfp) # type: ignore
|
||||||
error = warning
|
error = warning
|
||||||
|
|
||||||
|
args.status = status
|
||||||
|
args.warning = warning
|
||||||
|
args.error = error
|
||||||
|
|
||||||
confoverrides = {}
|
confoverrides = {}
|
||||||
for val in args.define:
|
for val in args.define:
|
||||||
try:
|
try:
|
||||||
@ -258,26 +260,55 @@ def build_main(argv: List[str] = sys.argv[1:]) -> int:
|
|||||||
if args.nitpicky:
|
if args.nitpicky:
|
||||||
confoverrides['nitpicky'] = True
|
confoverrides['nitpicky'] = True
|
||||||
|
|
||||||
|
args.confoverrides = confoverrides
|
||||||
|
|
||||||
|
return args
|
||||||
|
|
||||||
|
|
||||||
|
def build_main(argv: List[str] = sys.argv[1:]) -> int:
|
||||||
|
"""Sphinx build "main" command-line entry."""
|
||||||
|
args = _parse_arguments(argv)
|
||||||
|
|
||||||
app = None
|
app = None
|
||||||
try:
|
try:
|
||||||
confdir = args.confdir or args.sourcedir
|
confdir = args.confdir or args.sourcedir
|
||||||
with patch_docutils(confdir), docutils_namespace():
|
with patch_docutils(confdir), docutils_namespace():
|
||||||
app = Sphinx(args.sourcedir, args.confdir, args.outputdir,
|
app = Sphinx(args.sourcedir, args.confdir, args.outputdir,
|
||||||
args.doctreedir, args.builder, confoverrides, status,
|
args.doctreedir, args.builder, args.confoverrides, args.status,
|
||||||
warning, args.freshenv, args.warningiserror,
|
args.warning, args.freshenv, args.warningiserror,
|
||||||
args.tags, args.verbosity, args.jobs, args.keep_going,
|
args.tags, args.verbosity, args.jobs, args.keep_going,
|
||||||
args.pdb)
|
args.pdb)
|
||||||
app.build(args.force_all, args.filenames)
|
app.build(args.force_all, args.filenames)
|
||||||
return app.statuscode
|
return app.statuscode
|
||||||
except (Exception, KeyboardInterrupt) as exc:
|
except (Exception, KeyboardInterrupt) as exc:
|
||||||
handle_exception(app, args, exc, error)
|
handle_exception(app, args, exc, args.error)
|
||||||
return 2
|
return 2
|
||||||
|
|
||||||
|
|
||||||
|
def _bug_report_info() -> int:
|
||||||
|
from platform import platform, python_implementation
|
||||||
|
|
||||||
|
import docutils
|
||||||
|
import jinja2
|
||||||
|
|
||||||
|
print('Please paste all output below into the bug report template\n\n')
|
||||||
|
print('```text')
|
||||||
|
print(f'Platform: {sys.platform}; ({platform()})')
|
||||||
|
print(f'Python version: {sys.version})')
|
||||||
|
print(f'Python implementation: {python_implementation()}')
|
||||||
|
print(f'Sphinx version: {sphinx.__display_version__}')
|
||||||
|
print(f'Docutils version: {docutils.__version__}')
|
||||||
|
print(f'Jinja2 version: {jinja2.__version__}')
|
||||||
|
print('```')
|
||||||
|
return 0
|
||||||
|
|
||||||
|
|
||||||
def main(argv: List[str] = sys.argv[1:]) -> int:
|
def main(argv: List[str] = sys.argv[1:]) -> int:
|
||||||
sphinx.locale.setlocale(locale.LC_ALL, '')
|
sphinx.locale.setlocale(locale.LC_ALL, '')
|
||||||
sphinx.locale.init_console(os.path.join(package_dir, 'locale'), 'sphinx')
|
sphinx.locale.init_console(os.path.join(package_dir, 'locale'), 'sphinx')
|
||||||
|
|
||||||
|
if argv[:1] == ['--bug-report']:
|
||||||
|
return _bug_report_info()
|
||||||
if argv[:1] == ['-M']:
|
if argv[:1] == ['-M']:
|
||||||
return make_main(argv)
|
return make_main(argv)
|
||||||
else:
|
else:
|
||||||
|
Loading…
Reference in New Issue
Block a user