From d78faecbfabeb23467efda0d1946c116062bc761 Mon Sep 17 00:00:00 2001 From: Xavier Robin <xavier.robin@unibas.ch> Date: Fri, 20 Dec 2019 14:30:58 +0100 Subject: [PATCH] Use sphinx.application.Sphinx instead of a main function. --- doc/make.py | 43 +++++++++++++++++++++++++++++-------------- 1 file changed, 29 insertions(+), 14 deletions(-) diff --git a/doc/make.py b/doc/make.py index 426ee6028..5d088e798 100644 --- a/doc/make.py +++ b/doc/make.py @@ -5,7 +5,7 @@ import shutil from ost import settings from optparse import OptionParser import subprocess -import sphinx.cmd.build +from sphinx.application import Sphinx if len(sys.argv)==2: root_dir=sys.argv[1] @@ -76,29 +76,44 @@ def ParseArgs(): parser.add_option("-q", "--quiet", action="store_true", default=False, dest="quiet", help="run all test") return parser.parse_args() +def _SelectBuilders(opts): + builders = [] + if opts.html: + builders.append('html') + + if opts.doctest: + builders.append('doctest') + + if opts.build_json: + builders.append('json') + + if opts.linkcheck: + builders.append('linkcheck') + return builders + + opts, args=ParseArgs() if not opts.html and\ not opts.linkcheck and\ not opts.doctest: opts.html=True -extra_opts=[] +extra_args = {} if opts.quiet: - extra_opts=['-Q'] + extra_args['warning'] = None + extra_args['status'] = None for sub_dir in ('modules',): for directory, dirnames, filenames in os.walk(sub_dir): _CollectRstDocs('doc/source', directory, filenames) -if opts.html: - sphinx.cmd.build.main(extra_opts + ['-b', 'html', '-c', 'doc/conf', 'doc/source', 'doc/build/html']) - -if opts.doctest: - sphinx.cmd.build.main(extra_opts + ['-b', 'doctest', '-c', 'doc/conf', 'doc/source', 'doc/build/html']) - -if opts.build_json: - sphinx.cmd.build.main(extra_opts + ['-b', 'json', '-c', 'doc/conf', 'doc/source', 'doc/build/html']) - -if opts.linkcheck: - sphinx.cmd.build.main(extra_opts + ['-b', 'linkcheck', '-c', 'doc/conf', 'doc/source', 'doc/build/html']) +builders = _SelectBuilders(opts) +for builder in builders: + Sphinx( + srcdir='doc/source', + confdir='doc/conf', + outdir='doc/build/html', + doctreedir='doc/build/html/.doctrees', + buildername=builder, + **extra_args).build(True) -- GitLab