Skip to content

Commit

Permalink
Fix problem with sphinx 1.7
Browse files Browse the repository at this point in the history
  • Loading branch information
FlorianWilhelm committed Feb 13, 2018
1 parent 7d58a84 commit bea7a3c
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 9 deletions.
2 changes: 1 addition & 1 deletion CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Version 3.0.1, 2018-02-13
- Fix confusing error message when ``python setup.py docs`` and Sphinx is not installed, issue #142
- Fix 'unknown' version in case project name differs from the package name, issue #141
- Fix missing ``file:`` attribute in long-description of setup.cfg

- Fix ``sphinx-apidoc`` invocation problem with Sphinx 1.7

Older versions
==============
Expand Down
23 changes: 19 additions & 4 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,17 +28,32 @@
# setup.py install" in the RTD Advanced Settings.
# Additionally it helps us to avoid running apidoc manually

from sphinx import apidoc
try: # for Sphinx >= 1.7
from sphinx.ext import apidoc
except ImportError:
from sphinx import apidoc

output_dir = os.path.join(__location__, "api")
module_dir = os.path.join(__location__, "../src/pyscaffold")
try:
shutil.rmtree(output_dir)
except FileNotFoundError:
pass
cmd_line_template = "sphinx-apidoc -f -o {outputdir} {moduledir}"
cmd_line = cmd_line_template.format(outputdir=output_dir, moduledir=module_dir)
apidoc.main(cmd_line.split(" "))

try:
import sphinx
from distutils.version import LooseVersion

cmd_line_template = "sphinx-apidoc -f -o {outputdir} {moduledir}"
cmd_line = cmd_line_template.format(outputdir=output_dir, moduledir=module_dir)

args = cmd_line.split(" ")
if LooseVersion(sphinx.__version__) >= LooseVersion('1.7'):
args = args[1:]

apidoc.main(args)
except Exception as e:
print("Running `sphinx-apidoc` failed!\n{}".format(e))

# -- General configuration -----------------------------------------------------

Expand Down
23 changes: 19 additions & 4 deletions src/pyscaffold/templates/sphinx_conf.template
Original file line number Diff line number Diff line change
Expand Up @@ -29,17 +29,32 @@ sys.path.insert(0, os.path.join(__location__, '../src'))
# setup.py install" in the RTD Advanced Settings.
# Additionally it helps us to avoid running apidoc manually

from sphinx import apidoc
try: # for Sphinx >= 1.7
from sphinx.ext import apidoc
except ImportError:
from sphinx import apidoc

output_dir = os.path.join(__location__, "api")
module_dir = os.path.join(__location__, "../src/${root_pkg}")
try:
shutil.rmtree(output_dir)
except FileNotFoundError:
pass
cmd_line_template = "sphinx-apidoc -f -o {outputdir} {moduledir}"
cmd_line = cmd_line_template.format(outputdir=output_dir, moduledir=module_dir)
apidoc.main(cmd_line.split(" "))

try:
import sphinx
from distutils.version import LooseVersion

cmd_line_template = "sphinx-apidoc -f -o {outputdir} {moduledir}"
cmd_line = cmd_line_template.format(outputdir=output_dir, moduledir=module_dir)

args = cmd_line.split(" ")
if LooseVersion(sphinx.__version__) >= LooseVersion('1.7'):
args = args[1:]

apidoc.main(args)
except Exception as e:
print("Running `sphinx-apidoc` failed!\n{}".format(e))

# -- General configuration -----------------------------------------------------

Expand Down

0 comments on commit bea7a3c

Please sign in to comment.