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
|
import pytest
|
||||||
from weasyprint import Attachment
|
from weasyprint import Attachment
|
||||||
|
from weasyprint.document import Document, DocumentMetadata
|
||||||
|
from weasyprint.text.fonts import FontConfiguration
|
||||||
from weasyprint.urls import path2url
|
from weasyprint.urls import path2url
|
||||||
|
|
||||||
from .testing_utils import (
|
from .testing_utils import (
|
||||||
@ -505,6 +507,21 @@ def test_embed_image_once():
|
|||||||
''').write_pdf().count(b'/Filter /DCTDecode') == 1
|
''').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
|
@assert_no_logs
|
||||||
def test_document_info():
|
def test_document_info():
|
||||||
pdf = FakeHTML(string='''
|
pdf = FakeHTML(string='''
|
||||||
|
@ -96,10 +96,8 @@ class SVGImage:
|
|||||||
def get_image_from_uri(cache, url_fetcher, optimize_size, url,
|
def get_image_from_uri(cache, url_fetcher, optimize_size, url,
|
||||||
forced_mime_type=None, context=None):
|
forced_mime_type=None, context=None):
|
||||||
"""Get an Image instance from an image URI."""
|
"""Get an Image instance from an image URI."""
|
||||||
missing = object()
|
if url in cache:
|
||||||
image = cache.get(url, missing)
|
return cache[url]
|
||||||
if image is not missing:
|
|
||||||
return image
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
with fetch(url_fetcher, url) as result:
|
with fetch(url_fetcher, url) as result:
|
||||||
@ -137,7 +135,7 @@ def get_image_from_uri(cache, url_fetcher, optimize_size, url,
|
|||||||
raster_exception)
|
raster_exception)
|
||||||
else:
|
else:
|
||||||
# Store image id to enable cache in Stream.add_image
|
# 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)
|
image = RasterImage(pillow_image, image_id, optimize_size)
|
||||||
|
|
||||||
except (URLFetchingError, ImageLoadingError) as exception:
|
except (URLFetchingError, ImageLoadingError) as exception:
|
||||||
|
Loading…
Reference in New Issue
Block a user