diff options
author | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2021-04-17 16:51:19 +0900 |
---|---|---|
committer | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2021-04-17 16:51:19 +0900 |
commit | 5f56d4146e5ca67887d19db7df1dbe6b1af863b3 (patch) | |
tree | 608f50c8006c7c5b29353cba324877182788b71f | |
parent | 8954770f677994cfb13d93ea6d08b13db5382e31 (diff) | |
download | sphinx-git-5f56d4146e5ca67887d19db7df1dbe6b1af863b3.tar.gz |
Fix #9103: LaTeX: imgconverter: conversion runs even if not needed
The imgconverter unexpectedly goes to convert even if the given image
is supported by the target builder when the image globbing is not used.
This enables format guess-ing on not globbed.
-rw-r--r-- | CHANGES | 1 | ||||
-rw-r--r-- | sphinx/transforms/post_transforms/images.py | 2 | ||||
-rw-r--r-- | tests/roots/test-ext-imgconverter/img.pdf | bin | 0 -> 141783 bytes | |||
-rw-r--r-- | tests/roots/test-ext-imgconverter/index.rst | 1 | ||||
-rw-r--r-- | tests/test_ext_imgconverter.py | 5 |
5 files changed, 8 insertions, 1 deletions
@@ -16,6 +16,7 @@ Deprecated Features added -------------- +* #9103: LaTeX: imgconverter: conversion runs even if not needed * #9023: More CSS classes on domain descriptions, see :ref:`nodes` for details. Bugs fixed diff --git a/sphinx/transforms/post_transforms/images.py b/sphinx/transforms/post_transforms/images.py index f9b78837f..c9ed572b8 100644 --- a/sphinx/transforms/post_transforms/images.py +++ b/sphinx/transforms/post_transforms/images.py @@ -197,7 +197,7 @@ class ImageConverter(BaseImageConverter): def match(self, node: nodes.image) -> bool: if not self.app.builder.supported_image_types: return False - elif set(node['candidates']) & set(self.app.builder.supported_image_types): + elif set(self.guess_mimetypes(node)) & set(self.app.builder.supported_image_types): # builder supports the image; no need to convert return False elif self.available is None: diff --git a/tests/roots/test-ext-imgconverter/img.pdf b/tests/roots/test-ext-imgconverter/img.pdf Binary files differnew file mode 100644 index 000000000..cacbd855d --- /dev/null +++ b/tests/roots/test-ext-imgconverter/img.pdf diff --git a/tests/roots/test-ext-imgconverter/index.rst b/tests/roots/test-ext-imgconverter/index.rst index 786c92e8d..f8ef1d6e2 100644 --- a/tests/roots/test-ext-imgconverter/index.rst +++ b/tests/roots/test-ext-imgconverter/index.rst @@ -2,3 +2,4 @@ test-ext-imgconverter ===================== .. image:: svgimg.svg +.. image:: img.pdf diff --git a/tests/test_ext_imgconverter.py b/tests/test_ext_imgconverter.py index 5f6f236cf..b4fd46d25 100644 --- a/tests/test_ext_imgconverter.py +++ b/tests/test_ext_imgconverter.py @@ -19,6 +19,11 @@ def test_ext_imgconverter(app, status, warning): app.builder.build_all() content = (app.outdir / 'python.tex').read_text() + + # supported image (not converted) + assert '\\sphinxincludegraphics{{img}.pdf}' in content + + # non supported image (converted) assert '\\sphinxincludegraphics{{svgimg}.png}' in content assert not (app.outdir / 'svgimg.svg').exists() assert (app.outdir / 'svgimg.png').exists() |