Skip to content

Commit 2d0dde8

Browse files
authored
πŸ‘Œ IMPROVE: Remove debug output, declare parallel read/write support (#28)
1 parent 2f1203e commit 2d0dde8

2 files changed

Lines changed: 22 additions & 2 deletions

File tree

β€Žsrc/sphinx_subfigure/main.pyβ€Ž

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,23 @@
99
from docutils.parsers.rst import directives
1010
from sphinx.application import Sphinx
1111
from sphinx.util.docutils import SphinxDirective
12+
from sphinx.util.typing import ExtensionMetadata
1213

14+
from . import __version__
1315
from .tr_html import setup_html
1416
from .tr_latex import setup_latex
1517

1618

17-
def setup(app: Sphinx) -> None:
19+
def setup(app: Sphinx) -> ExtensionMetadata:
1820
"""Setup the extension."""
1921
app.add_directive("subfigure", SubfigureDirective)
2022
setup_html(app)
2123
setup_latex(app)
24+
return {
25+
"version": __version__,
26+
"parallel_read_safe": True,
27+
"parallel_write_safe": True,
28+
}
2229

2330

2431
class SubfigureDirective(SphinxDirective):
@@ -104,7 +111,6 @@ def run(self) -> list[nodes.Element]:
104111
f"item {idx + 1} is neither (line {child.line})"
105112
)
106113

107-
print(number_of_images)
108114
if not number_of_images:
109115
raise self.error("Invalid subfigure content (no images found)")
110116
layout_string = self.arguments[0] if self.arguments else 1

β€Žtests/test_simple.pyβ€Ž

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
from bs4 import BeautifulSoup
99
from sphinx_pytest.plugin import CreateDoctree
1010

11+
from sphinx_subfigure import __version__
12+
1113
IMAGE_PNG = base64.b64decode(
1214
"iVBORw0KGgoAAAANSUhEUgAAAHQAAAB0CAYAAABUmhYnAAAEd0lEQVR4Xu2c0ZLjIAwEk///6GzVvZlspWtWksNRnVcwiGmNwHaS5+v1ej38HKPAU6DHsPy3EIGexVOgh/EUqEBPU+Cw9biHCvQwBQ5bjg4V6GEKHLYcHSrQwxQ4bDk6VKCHKXDYcnSoQA9T4LDllB36fD5vlWR9fUvz0+ve9fp0/O7FU7w0n0CXhBSoDiXTRO06FBKKBLLkLvlGgkTp+UvndPzu/ul46Xq7x2/fQ8kR0wtOBaL+1J6uZ+3fPb5Aw0PRtxOWEkigAr3mCJUMuk9cM45uG3ZvJwel8dN4byW8+r1cgWYPVgRaLIlpwqWCT1cgHbr8skOgYUqkgtHwVYfQKZTiTW8rdCgQFWjtt2Pjty3TGdztOB0aHlosuVcHpglJ+h3nUFow7bE6dDOHCjRN2fBty917qEAF+jEHaI+bTlhK0Nsf/aUBpXtYdXy6noDS9dTePf74oYgWRO3dC6b57k6o7vUJFAh3Cz6dMAIV6FWB9FCQlry1f/ejQXLgt9eX6tXu0DSAtL9APysm0OYHI2mCUgVKxxOoQNOcubc/7XnF5yj3LuYPs5Ud+oc5Ry8R6GEpK1CBjlaMuwcvl1xyBC2I8im9T0xva6pPbtL1V+MjPQW6KEQJRAlAggs0vK2oCibQ4g9+LbnXb96THlQBvl5y0yclqYNQAKgAVGIJQHWPpfjf4uv+bUsagECvClCCkL46VIdecyQtKZRhlKGW3OG3LekeQ0DSBOk+1VLCdbdTAqfzlUuuQFPJe/fM9kORQAV6UYBKJslF11NJS0s8xZO2U3zpeO0lNw2g2+HV8dLbKJov1aMKWKDFfyITKKRsegqmjE7H06FpTRHoRwUoQUnu9pJLh4z0EFMdjwRI46ESWwVC8VK7QMN/TRHookDqCB1Knry261AdmmXMdG86xabzd49H83fP1+5QWkB3e7sg4eu06nra46++4K4uqHp9uyACrSKpXS/Q5kMRnUJruN6vnr7Po/VMn9KrepX3UBKgGmD1UVw6P61HoKmi0F+HfhZIhy766NDhU2F66CEgzQXjQRUjjb8aX7tDaYFpwKkgAi0SSAUXaO0Pjkk/HUoKFQ9p0wm/hjcONC2B6W3B24KKv1ZLx0vzgfQoFsyHQJe3LQINHUEZrUNre6wO1aHLw+AvO5QOHdReLbE0/vSeedyhKBWUDh00XpoAAg2/EkIAqD0FlPYXqEDp3Pix/b8/FKUOIMem7fR6j8Yr0fvlYoEWK4JAw0dplOE6dLnrqH5JrCp4NcMFejPQ6h7RnTAUT/eTKkpYiidtH99D04C6bwvS+QX65W8sUMkVaKgAlcRwuLfuNL5Ah/fQKkC6Pi2JKXB6NEjxUTslKF1P7e17KE1YbRfoZwUFuuijQ4v/l5s6VocOOzQFYv9ZBcoldzY8R08VEGiq2Ob9Bbo5oDQ8gaaKbd5foJsDSsMTaKrY5v0FujmgNDyBpopt3l+gmwNKwxNoqtjm/QW6OaA0PIGmim3eX6CbA0rDE2iq2Ob9Bbo5oDS8H8eCMw7yCzx+AAAAAElFTkSuQmCC"
1315
)
@@ -67,6 +69,18 @@ def test_build_latex(file_params, sphinx_doctree: CreateDoctree):
6769
file_params.assert_expected(fig_tex, rstrip_lines=True)
6870

6971

72+
def test_extension_metadata(sphinx_doctree: CreateDoctree):
73+
"""The extension declares its version and parallel read/write safety."""
74+
sphinx_doctree.set_conf({"extensions": ["sphinx_subfigure"]})
75+
sphinx_doctree.buildername = "html"
76+
sphinx_doctree.srcdir.joinpath("image.png").write_bytes(IMAGE_PNG)
77+
result = sphinx_doctree(".. subfigure:: A\n\n .. image:: image.png\n")
78+
extension = result.app.extensions["sphinx_subfigure"]
79+
assert extension.version == __version__
80+
assert extension.parallel_read_safe is True
81+
assert extension.parallel_write_safe is True
82+
83+
7084
def test_too_many_images(sphinx_doctree: CreateDoctree):
7185
"""Test that exceeding the maximum number of images errors gracefully."""
7286
sphinx_doctree.set_conf({"extensions": ["sphinx_subfigure"]})

0 commit comments

Comments
Β (0)