mirror of
https://github.com/Kozea/WeasyPrint.git
synced 2024-10-04 07:57:52 +03:00
parent
d62974e0b4
commit
ce44a72318
@ -14,6 +14,8 @@ from codecs import BOM_UTF16_BE
|
||||
|
||||
import pytest
|
||||
from weasyprint import Attachment
|
||||
from weasyprint.document import Document, DocumentMetadata
|
||||
from weasyprint.text.fonts import FontConfiguration
|
||||
from weasyprint.urls import path2url
|
||||
|
||||
from .testing_utils import (
|
||||
@ -505,6 +507,21 @@ def test_embed_image_once():
|
||||
''').write_pdf().count(b'/Filter /DCTDecode') == 1
|
||||
|
||||
|
||||
@assert_no_logs
|
||||
def test_embed_images_from_pages():
|
||||
page1, = FakeHTML(
|
||||
base_url=resource_filename('dummy.html'),
|
||||
string='<img src="blue.jpg">').render().pages
|
||||
page2, = FakeHTML(
|
||||
base_url=resource_filename('dummy.html'),
|
||||
string='<img src="not-optimized.jpg">').render().pages
|
||||
document = Document(
|
||||
(page1, page2), metadata=DocumentMetadata(),
|
||||
font_config=FontConfiguration(), url_fetcher=None,
|
||||
optimize_size=()).write_pdf()
|
||||
assert document.count(b'/Filter /DCTDecode') == 2
|
||||
|
||||
|
||||
@assert_no_logs
|
||||
def test_document_info():
|
||||
pdf = FakeHTML(string='''
|
||||
|
@ -96,10 +96,8 @@ class SVGImage:
|
||||
def get_image_from_uri(cache, url_fetcher, optimize_size, url,
|
||||
forced_mime_type=None, context=None):
|
||||
"""Get an Image instance from an image URI."""
|
||||
missing = object()
|
||||
image = cache.get(url, missing)
|
||||
if image is not missing:
|
||||
return image
|
||||
if url in cache:
|
||||
return cache[url]
|
||||
|
||||
try:
|
||||
with fetch(url_fetcher, url) as result:
|
||||
@ -137,7 +135,7 @@ def get_image_from_uri(cache, url_fetcher, optimize_size, url,
|
||||
raster_exception)
|
||||
else:
|
||||
# Store image id to enable cache in Stream.add_image
|
||||
image_id = len(cache)
|
||||
image_id = hash(url)
|
||||
image = RasterImage(pillow_image, image_id, optimize_size)
|
||||
|
||||
except (URLFetchingError, ImageLoadingError) as exception:
|
||||
|
Loading…
Reference in New Issue
Block a user