fix: resize gallery thumbnails for current high density cards
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
import io
|
||||
|
||||
from PIL import Image
|
||||
|
||||
|
||||
def test_gallery_thumbnail_upgrades_existing_cache_and_reuses_it(client, settings):
|
||||
cache = settings.data_dir / "cache"
|
||||
original = cache / "living-room-1.original"
|
||||
thumb = cache / "living-room-1-thumb.jpg"
|
||||
Image.new("RGB", (1600, 1200), "blue").save(original, "JPEG")
|
||||
Image.new("RGB", (300, 225), "blue").save(thumb, "JPEG")
|
||||
url = "/api/v1/devices/living-room/images/1/file?thumbnail=true"
|
||||
result = client.get(url)
|
||||
assert result.status_code == 200
|
||||
assert Image.open(io.BytesIO(result.content)).size == (860, 645)
|
||||
modified = thumb.stat().st_mtime_ns
|
||||
assert client.get(url).content == result.content
|
||||
assert thumb.stat().st_mtime_ns == modified
|
||||
assert len(list(cache.glob("living-room-1-thumb*"))) == 1
|
||||
assert Image.open(original).size == (1600, 1200)
|
||||
|
||||
|
||||
def test_gallery_thumbnail_does_not_upscale_small_source(client, settings):
|
||||
original = settings.data_dir / "cache" / "living-room-1.original"
|
||||
Image.new("RGBA", (200, 400), (255, 0, 0, 255)).save(original, "PNG")
|
||||
result = client.get("/api/v1/devices/living-room/images/1/file?thumbnail=true")
|
||||
assert result.status_code == 200
|
||||
assert Image.open(io.BytesIO(result.content)).size == (200, 400)
|
||||
Reference in New Issue
Block a user