🎨 Made itch cover manager sync

This commit is contained in:
GeoffreyCoulaud
2023-06-07 19:31:15 +02:00
parent 9ebd7cf7ee
commit b895c8ebe2

View File

@@ -7,12 +7,12 @@ from urllib3.exceptions import SSLError
from src import shared from src import shared
from src.game import Game from src.game import Game
from src.store.managers.async_manager import AsyncManager from src.store.managers.manager import Manager
from src.store.managers.local_cover_manager import LocalCoverManager from src.store.managers.local_cover_manager import LocalCoverManager
from src.utils.save_cover import resize_cover, save_cover from src.utils.save_cover import resize_cover, save_cover
class ItchCoverManager(AsyncManager): class ItchCoverManager(Manager):
"""Manager in charge of downloading the game's cover from itch.io""" """Manager in charge of downloading the game's cover from itch.io"""
run_after = set((LocalCoverManager,)) run_after = set((LocalCoverManager,))
@@ -32,17 +32,20 @@ class ItchCoverManager(AsyncManager):
cover.raise_for_status() cover.raise_for_status()
Path(tmp_file.get_path()).write_bytes(cover.content) Path(tmp_file.get_path()).write_bytes(cover.content)
# TODO comment the following blocks of code # Create background blur
game_cover = GdkPixbuf.Pixbuf.new_from_stream_at_scale( game_cover = GdkPixbuf.Pixbuf.new_from_stream_at_scale(
tmp_file.read(), 2, 2, False tmp_file.read(), 2, 2, False
).scale_simple(*shared.image_size, GdkPixbuf.InterpType.BILINEAR) ).scale_simple(*shared.image_size, GdkPixbuf.InterpType.BILINEAR)
# Resize square image
itch_pixbuf = GdkPixbuf.Pixbuf.new_from_stream(tmp_file.read()) itch_pixbuf = GdkPixbuf.Pixbuf.new_from_stream(tmp_file.read())
itch_pixbuf = itch_pixbuf.scale_simple( itch_pixbuf = itch_pixbuf.scale_simple(
shared.image_size[0], shared.image_size[0],
itch_pixbuf.get_height() * (shared.image_size[0] / itch_pixbuf.get_width()), itch_pixbuf.get_height() * (shared.image_size[0] / itch_pixbuf.get_width()),
GdkPixbuf.InterpType.BILINEAR, GdkPixbuf.InterpType.BILINEAR,
) )
# Composite
itch_pixbuf.composite( itch_pixbuf.composite(
game_cover, game_cover,
0, 0,