diff --git a/.travis.yml b/.travis.yml index 8ffb2bbc..7db72a65 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ sudo: false matrix: include: - python: 3.7 - env: SPHINX_SPEC="==1.2.3" SPHINXOPTS="" + env: SPHINX_SPEC="==1.6.5" SPHINXOPTS="" - python: 3.7 - python: 2.7 cache: diff --git a/numpydoc/numpydoc.py b/numpydoc/numpydoc.py index e1b8f263..0e96fadf 100644 --- a/numpydoc/numpydoc.py +++ b/numpydoc/numpydoc.py @@ -31,7 +31,8 @@ from docutils.nodes import citation, Text, section, comment, reference import sphinx -from sphinx.addnodes import pending_xref, desc_content, only +from sphinx.addnodes import pending_xref, desc_content +from sphinx.util import logging if sphinx.__version__ < '1.0.1': raise RuntimeError("Sphinx 1.0.1 or newer is required") @@ -40,6 +41,8 @@ from .xref import DEFAULT_LINKS from . import __version__ +logger = logging.getLogger(__name__) + if sys.version_info[0] >= 3: sixu = lambda s: s else: @@ -169,13 +172,17 @@ def mangle_docstrings(app, what, name, obj, options, lines): title_re = re.compile(sixu(pattern), re.I | re.S) lines[:] = title_re.sub(sixu(''), u_NL.join(lines)).split(u_NL) else: - doc = get_doc_object(obj, what, u_NL.join(lines), config=cfg, - builder=app.builder) - if sys.version_info[0] >= 3: - doc = str(doc) - else: - doc = unicode(doc) - lines[:] = doc.split(u_NL) + try: + doc = get_doc_object(obj, what, u_NL.join(lines), config=cfg, + builder=app.builder) + if sys.version_info[0] >= 3: + doc = str(doc) + else: + doc = unicode(doc) + lines[:] = doc.split(u_NL) + except: + logger.error('[numpydoc] While processing docstring for %r', name) + raise if (app.config.numpydoc_edit_link and hasattr(obj, '__name__') and obj.__name__):