mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Undo parallel image changes
This commit is contained in:
@@ -401,12 +401,9 @@ class EpubBuilder(StandaloneHTMLBuilder):
|
||||
the format and resizing the image if necessary/possible.
|
||||
"""
|
||||
ensuredir(path.join(self.outdir, self.imagedir))
|
||||
converted_images = {*self.env.original_image_uri.values()}
|
||||
for src in status_iterator(self.env.images, __('copying images... '), "brown",
|
||||
len(self.env.images), self.app.verbosity):
|
||||
if src in converted_images:
|
||||
continue
|
||||
_docnames, dest = self.env.images[src]
|
||||
for src in status_iterator(self.images, __('copying images... '), "brown",
|
||||
len(self.images), self.app.verbosity):
|
||||
dest = self.images[src]
|
||||
try:
|
||||
img = Image.open(path.join(self.srcdir, src))
|
||||
except OSError:
|
||||
@@ -441,7 +438,7 @@ class EpubBuilder(StandaloneHTMLBuilder):
|
||||
"""Copy image files to destination directory.
|
||||
This overwritten method can use Pillow to convert image files.
|
||||
"""
|
||||
if self.env.images:
|
||||
if self.images:
|
||||
if self.config.epub_fix_images or self.config.epub_max_image_width:
|
||||
if not Image:
|
||||
logger.warning(__('Pillow not found - copying image files'))
|
||||
|
||||
@@ -656,9 +656,6 @@ class StandaloneHTMLBuilder(Builder):
|
||||
}
|
||||
|
||||
def write_doc(self, docname: str, doctree: nodes.document) -> None:
|
||||
self.imgpath = relative_uri(self.get_target_uri(docname), self.imagedir)
|
||||
self.post_process_images(doctree)
|
||||
|
||||
title_node = self.env.longtitles.get(docname)
|
||||
title = self.render_partial(title_node)['title'] if title_node else ''
|
||||
self.index_page(docname, doctree, title)
|
||||
@@ -668,6 +665,7 @@ class StandaloneHTMLBuilder(Builder):
|
||||
|
||||
self.secnumbers = self.env.toc_secnumbers.get(docname, {})
|
||||
self.fignumbers = self.env.toc_fignumbers.get(docname, {})
|
||||
self.imgpath = relative_uri(self.get_target_uri(docname), '_images')
|
||||
self.dlpath = relative_uri(self.get_target_uri(docname), '_downloads')
|
||||
self.current_docname = docname
|
||||
self.docwriter.write(doctree, destination)
|
||||
@@ -678,6 +676,10 @@ class StandaloneHTMLBuilder(Builder):
|
||||
ctx = self.get_doc_context(docname, body, metatags)
|
||||
self.handle_page(docname, ctx, event_arg=doctree)
|
||||
|
||||
def write_doc_serialized(self, docname: str, doctree: nodes.document) -> None:
|
||||
self.imgpath = relative_uri(self.get_target_uri(docname), self.imagedir)
|
||||
self.post_process_images(doctree)
|
||||
|
||||
def finish(self) -> None:
|
||||
self.finish_tasks.add_task(self.gen_indices)
|
||||
self.finish_tasks.add_task(self.gen_pages_from_extensions)
|
||||
@@ -764,16 +766,13 @@ class StandaloneHTMLBuilder(Builder):
|
||||
self.handle_page(indexname, indexcontext, 'domainindex.html')
|
||||
|
||||
def copy_image_files(self) -> None:
|
||||
if self.env.images:
|
||||
converted_images = {*self.env.original_image_uri.values()}
|
||||
if self.images:
|
||||
stringify_func = ImageAdapter(self.app.env).get_original_image_uri
|
||||
ensuredir(path.join(self.outdir, self.imagedir))
|
||||
for src in status_iterator(self.env.images, __('copying images... '), "brown",
|
||||
len(self.env.images), self.app.verbosity,
|
||||
for src in status_iterator(self.images, __('copying images... '), "brown",
|
||||
len(self.images), self.app.verbosity,
|
||||
stringify_func=stringify_func):
|
||||
if src in converted_images:
|
||||
continue
|
||||
_docnames, dest = self.env.images[src]
|
||||
dest = self.images[src]
|
||||
try:
|
||||
copyfile(path.join(self.srcdir, src),
|
||||
path.join(self.outdir, self.imagedir, dest))
|
||||
|
||||
@@ -413,15 +413,12 @@ class LaTeXBuilder(Builder):
|
||||
copy_asset_file(path.join(self.confdir, filename), self.outdir)
|
||||
|
||||
def copy_image_files(self) -> None:
|
||||
if self.env.images:
|
||||
converted_images = {*self.env.original_image_uri.values()}
|
||||
if self.images:
|
||||
stringify_func = ImageAdapter(self.app.env).get_original_image_uri
|
||||
for src in status_iterator(self.env.images, __('copying images... '), "brown",
|
||||
len(self.env.images), self.app.verbosity,
|
||||
for src in status_iterator(self.images, __('copying images... '), "brown",
|
||||
len(self.images), self.app.verbosity,
|
||||
stringify_func=stringify_func):
|
||||
if src in converted_images:
|
||||
continue
|
||||
_docnames, dest = self.env.images[src]
|
||||
dest = self.images[src]
|
||||
try:
|
||||
copy_asset_file(path.join(self.srcdir, src),
|
||||
path.join(self.outdir, dest))
|
||||
|
||||
@@ -173,15 +173,12 @@ class TexinfoBuilder(Builder):
|
||||
self.copy_support_files()
|
||||
|
||||
def copy_image_files(self, targetname: str) -> None:
|
||||
if self.env.images:
|
||||
converted_images = {*self.env.original_image_uri.values()}
|
||||
if self.images:
|
||||
stringify_func = ImageAdapter(self.app.env).get_original_image_uri
|
||||
for src in status_iterator(self.env.images, __('copying images... '), "brown",
|
||||
len(self.env.images), self.app.verbosity,
|
||||
for src in status_iterator(self.images, __('copying images... '), "brown",
|
||||
len(self.images), self.app.verbosity,
|
||||
stringify_func=stringify_func):
|
||||
if src in converted_images:
|
||||
continue
|
||||
_docnames, dest = self.env.images[src]
|
||||
dest = self.images[src]
|
||||
try:
|
||||
imagedir = path.join(self.outdir, targetname + '-figures')
|
||||
ensuredir(imagedir)
|
||||
|
||||
@@ -287,14 +287,14 @@ class HTML4Translator(SphinxTranslator, BaseTranslator):
|
||||
else:
|
||||
key = figtype
|
||||
|
||||
if figure_id in self.builder.fignumbers.get(key, {}): # type: ignore[has-type]
|
||||
if figure_id in self.builder.fignumbers.get(key, {}):
|
||||
self.body.append('<span class="caption-number">')
|
||||
prefix = self.config.numfig_format.get(figtype)
|
||||
if prefix is None:
|
||||
msg = __('numfig_format is not defined for %s') % figtype
|
||||
logger.warning(msg)
|
||||
else:
|
||||
numbers = self.builder.fignumbers[key][figure_id] # type: ignore[has-type]
|
||||
numbers = self.builder.fignumbers[key][figure_id]
|
||||
self.body.append(prefix % '.'.join(map(str, numbers)) + ' ')
|
||||
self.body.append('</span>')
|
||||
|
||||
@@ -569,7 +569,7 @@ class HTML4Translator(SphinxTranslator, BaseTranslator):
|
||||
self.context.append('</a>')
|
||||
elif 'filename' in node:
|
||||
atts['class'] += ' internal'
|
||||
atts['href'] = posixpath.join(self.builder.dlpath, # type: ignore[has-type]
|
||||
atts['href'] = posixpath.join(self.builder.dlpath,
|
||||
urllib.parse.quote(node['filename']))
|
||||
self.body.append(self.starttag(node, 'a', '', **atts))
|
||||
self.context.append('</a>')
|
||||
|
||||
@@ -293,14 +293,14 @@ class HTML5Translator(SphinxTranslator, BaseTranslator):
|
||||
else:
|
||||
key = figtype
|
||||
|
||||
if figure_id in self.builder.fignumbers.get(key, {}): # type: ignore[has-type]
|
||||
if figure_id in self.builder.fignumbers.get(key, {}):
|
||||
self.body.append('<span class="caption-number">')
|
||||
prefix = self.config.numfig_format.get(figtype)
|
||||
if prefix is None:
|
||||
msg = __('numfig_format is not defined for %s') % figtype
|
||||
logger.warning(msg)
|
||||
else:
|
||||
numbers = self.builder.fignumbers[key][figure_id] # type: ignore[has-type]
|
||||
numbers = self.builder.fignumbers[key][figure_id]
|
||||
self.body.append(prefix % '.'.join(map(str, numbers)) + ' ')
|
||||
self.body.append('</span>')
|
||||
|
||||
@@ -544,7 +544,7 @@ class HTML5Translator(SphinxTranslator, BaseTranslator):
|
||||
self.context.append('</a>')
|
||||
elif 'filename' in node:
|
||||
atts['class'] += ' internal'
|
||||
atts['href'] = posixpath.join(self.builder.dlpath, # type: ignore[has-type]
|
||||
atts['href'] = posixpath.join(self.builder.dlpath,
|
||||
urllib.parse.quote(node['filename']))
|
||||
self.body.append(self.starttag(node, 'a', '', **atts))
|
||||
self.context.append('</a>')
|
||||
|
||||
@@ -399,14 +399,11 @@ def test_copy_images(app, status, warning):
|
||||
|
||||
images_dir = Path(app.outdir) / '_images'
|
||||
images = {image.name for image in images_dir.rglob('*')}
|
||||
images.discard('python-logo.png')
|
||||
assert images == {
|
||||
'img.gif',
|
||||
'img.pdf',
|
||||
'img.png',
|
||||
'python-logo.png',
|
||||
'rimg.png',
|
||||
'rimg1.png',
|
||||
'svgimg.pdf',
|
||||
'svgimg.svg',
|
||||
'testimäge.png',
|
||||
}
|
||||
|
||||
@@ -1780,12 +1780,9 @@ def test_copy_images(app, status, warning):
|
||||
images_dir = Path(app.outdir) / '_images'
|
||||
images = {image.name for image in images_dir.rglob('*')}
|
||||
assert images == {
|
||||
'img.gif',
|
||||
'img.pdf',
|
||||
'img.png',
|
||||
'rimg.png',
|
||||
'rimg1.png',
|
||||
'svgimg.pdf',
|
||||
'svgimg.svg',
|
||||
'testimäge.png',
|
||||
}
|
||||
|
||||
@@ -1682,14 +1682,9 @@ def test_copy_images(app, status, warning):
|
||||
image.name for image in test_dir.rglob('*')
|
||||
if image.suffix in {'.gif', '.pdf', '.png', '.svg'}
|
||||
}
|
||||
images.discard('python-logo.png')
|
||||
assert images == {
|
||||
'img.gif',
|
||||
'img.pdf',
|
||||
'img.png',
|
||||
'python-logo.png',
|
||||
'rimg.png',
|
||||
'rimg1.png',
|
||||
'svgimg.pdf',
|
||||
'svgimg.svg',
|
||||
'testimäge.png',
|
||||
}
|
||||
|
||||
@@ -146,14 +146,9 @@ def test_copy_images(app, status, warning):
|
||||
|
||||
images_dir = Path(app.outdir) / 'python-figures'
|
||||
images = {image.name for image in images_dir.rglob('*')}
|
||||
images.discard('python-logo.png')
|
||||
assert images == {
|
||||
'img.gif',
|
||||
'img.pdf',
|
||||
'img.png',
|
||||
'python-logo.png',
|
||||
'rimg.png',
|
||||
'rimg1.png',
|
||||
'svgimg.pdf',
|
||||
'svgimg.svg',
|
||||
'testimäge.png',
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user