Show correct URI if image candidate not found

This commit is contained in:
Takeshi KOMIYA 2017-06-25 18:52:12 +09:00
parent 372e8f2c64
commit 959d0b92c9

View File

@ -22,6 +22,7 @@ from six import itervalues
from docutils import nodes
from sphinx.deprecation import RemovedInSphinx20Warning
from sphinx.environment.adapters.asset import ImageAdapter
from sphinx.util import i18n, path_stabilize, logging, status_iterator
from sphinx.util.osutil import SEP, relative_uri
from sphinx.util.i18n import find_catalog
@ -200,6 +201,7 @@ class Builder(object):
def post_process_images(self, doctree):
# type: (nodes.Node) -> None
"""Pick the best candidate for all image URIs."""
images = ImageAdapter(self.env)
for node in doctree.traverse(nodes.image):
if '?' in node['candidates']:
# don't rewrite nonlocal image URIs
@ -210,7 +212,8 @@ class Builder(object):
if candidate:
break
else:
logger.warning('no matching candidate for image URI %r', node['uri'],
logger.warning('no matching candidate for image URI %r',
images.get_original_image_uri(node['uri']),
location=node)
continue
node['uri'] = candidate