Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 0be7741

Browse files
authored
Merge pull request astropy#43 from astrofrog/fix-sphinx-dev
Fix compatibility with Sphinx 1.7.x
2 parents 55ab381 + b16c5fe commit 0be7741

File tree

4 files changed

+27
-9
lines changed

4 files changed

+27
-9
lines changed

CHANGES.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Changes in sphinx-automodapi
44
0.7 (unreleased)
55
----------------
66

7-
- No changes yet.
7+
- Fix compatibility with Sphinx 1.7.x. [#43]
88

99
0.6 (2017-07-05)
1010
----------------

sphinx_automodapi/automodsumm.py

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -87,13 +87,17 @@ class members that are inherited from a base class. This value can be
8787
import os
8888
import re
8989
import io
90+
from distutils.version import LooseVersion
9091

92+
from sphinx import __version__
9193
from sphinx.ext.autosummary import Autosummary
9294
from sphinx.ext.inheritance_diagram import InheritanceDiagram
9395
from docutils.parsers.rst.directives import flag
9496

9597
from .utils import find_mod_objs, cleanup_whitespace
9698

99+
SPHINX_LT_17 = LooseVersion(__version__) < LooseVersion('1.7')
100+
97101

98102
def _str_list_converter(argument):
99103
"""
@@ -262,7 +266,7 @@ def process_automodsumm_generation(app):
262266
suffix = os.path.splitext(sfn)[1]
263267
if len(lines) > 0:
264268
generate_automodsumm_docs(
265-
lines, sfn, builder=app.builder, warn=app.warn, info=app.info,
269+
lines, sfn, app=app, builder=app.builder, warn=app.warn, info=app.info,
266270
suffix=suffix, base_path=app.srcdir,
267271
inherited_members=app.config.automodsumm_inherited_members)
268272

@@ -397,7 +401,7 @@ def automodsumm_to_autosummary_lines(fn, app):
397401
return newlines
398402

399403

400-
def generate_automodsumm_docs(lines, srcfn, suffix='.rst', warn=None,
404+
def generate_automodsumm_docs(lines, srcfn, app=None, suffix='.rst', warn=None,
401405
info=None, base_path=None, builder=None,
402406
template_dir=None,
403407
inherited_members=False):
@@ -493,7 +497,11 @@ def generate_automodsumm_docs(lines, srcfn, suffix='.rst', warn=None,
493497
f = open(fn, 'w')
494498

495499
try:
496-
doc = get_documenter(obj, parent)
500+
501+
if SPHINX_LT_17:
502+
doc = get_documenter(obj, parent)
503+
else:
504+
doc = get_documenter(app, obj, parent)
497505

498506
if template_name is not None:
499507
template = template_env.get_template(template_name)
@@ -511,8 +519,10 @@ def get_members_mod(obj, typ, include_public=[]):
511519
items = []
512520
for name in dir(obj):
513521
try:
514-
documenter = get_documenter(safe_getattr(obj, name),
515-
obj)
522+
if SPHINX_LT_17:
523+
documenter = get_documenter(safe_getattr(obj, name), obj)
524+
else:
525+
documenter = get_documenter(app, safe_getattr(obj, name), obj)
516526
except AttributeError:
517527
continue
518528
if typ is None or documenter.objtype == typ:
@@ -541,8 +551,10 @@ def get_members_class(obj, typ, include_public=[],
541551

542552
for name in names:
543553
try:
544-
documenter = get_documenter(safe_getattr(obj, name),
545-
obj)
554+
if SPHINX_LT_17:
555+
documenter = get_documenter(safe_getattr(obj, name), obj)
556+
else:
557+
documenter = get_documenter(app, safe_getattr(obj, name), obj)
546558
except AttributeError:
547559
continue
548560
if typ is None or documenter.objtype == typ:

sphinx_automodapi/tests/test_automodsumm.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ def warn(self, msg, loc):
6161
6262
Automoddiagram
6363
Automodsumm
64+
SPHINX_LT_17
6465
automodsumm_to_autosummary_lines
6566
generate_automodsumm_docs
6667
process_automodsumm_generation

sphinx_automodapi/tests/test_cases.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,17 @@
1313
import pytest
1414

1515
from copy import deepcopy, copy
16-
from sphinx import build_main, __version__
16+
from sphinx import __version__
1717
from sphinx.util.osutil import ensuredir
1818
from docutils.parsers.rst import directives, roles
1919

2020
SPHINX_LT_17 = LooseVersion(__version__) < LooseVersion('1.7')
2121

22+
if SPHINX_LT_17:
23+
from sphinx import build_main
24+
else:
25+
from sphinx.cmd.build import build_main
26+
2227
CASES_ROOT = os.path.join(os.path.dirname(__file__), 'cases')
2328

2429
CASES_DIRS = glob.glob(os.path.join(CASES_ROOT, '*'))

0 commit comments

Comments
 (0)