From 9b89c48a07d12ae4366e7d8142b3e3b99fb80aeb Mon Sep 17 00:00:00 2001 From: zhaarey <157944548+zhaarey@users.noreply.github.com> Date: Sun, 5 May 2024 19:32:23 +0800 Subject: [PATCH] add coverSize --- config.toml | 1 + src/api.py | 4 ++-- src/config.py | 1 + src/metadata.py | 4 ++-- src/rip.py | 2 +- 5 files changed, 7 insertions(+), 5 deletions(-) diff --git a/config.toml b/config.toml index c8be378..faab891 100644 --- a/config.toml +++ b/config.toml @@ -19,6 +19,7 @@ dirPathFormat = "downloads/{album_artist}/{album}" saveLyrics = true saveCover = true coverFormat = "jpg" +coverSize = "5000x5000" afterDownloaded = "" check = "" diff --git a/src/api.py b/src/api.py index f458a26..b709e7c 100644 --- a/src/api.py +++ b/src/api.py @@ -84,9 +84,9 @@ async def get_meta(album_id: str, token: str, storefront: str, lang: str): @retry(retry=retry_if_exception_type((httpx.TimeoutException, httpcore.ConnectError, SSLError, FileNotFoundError)), stop=stop_after_attempt(5), before_sleep=before_sleep_log(logger, logging.WARN)) -async def get_cover(url: str, cover_format: str): +async def get_cover(url: str, cover_format: str, cover_size: str): formatted_url = regex.sub('bb.jpg', f'bb.{cover_format}', url) - req = await client.get(formatted_url.replace("{w}x{h}", "10000x10000"), + req = await client.get(formatted_url.replace("{w}x{h}", cover_size), headers={"User-Agent": user_agent_browser}) return req.content diff --git a/src/config.py b/src/config.py index 300a50c..bf73895 100644 --- a/src/config.py +++ b/src/config.py @@ -26,6 +26,7 @@ class Download(BaseModel): saveLyrics: bool saveCover: bool coverFormat: str + coverSize: str afterDownloaded: str check: str diff --git a/src/metadata.py b/src/metadata.py index d84a4ff..aacf2b7 100644 --- a/src/metadata.py +++ b/src/metadata.py @@ -58,5 +58,5 @@ class SongMetadata(BaseModel): def set_lyrics(self, lyrics: str): self.lyrics = lyrics - async def get_cover(self, cover_format: str): - self.cover = await get_cover(self.cover_url, cover_format) + async def get_cover(self, cover_format: str, cover_size: str): + self.cover = await get_cover(self.cover_url, cover_format, cover_size) diff --git a/src/rip.py b/src/rip.py index 0894f15..478a4e0 100644 --- a/src/rip.py +++ b/src/rip.py @@ -26,7 +26,7 @@ async def rip_song(song: Song, auth_params: GlobalAuthParams, codec: str, config if not force_save and check_song_exists(song_metadata, config.download, codec): logger.info(f"Song: {song_metadata.artist} - {song_metadata.title} already exists") return - await song_metadata.get_cover(config.download.coverFormat) + await song_metadata.get_cover(config.download.coverFormat, config.download.coverSize) if song_data.attributes.hasTimeSyncedLyrics: lyrics = await get_song_lyrics(song.id, song.storefront, auth_params.accountAccessToken, auth_params.dsid, auth_params.accountToken, config.region.language)