From e2dbd891e95067572d1ea5885b011accac4a0d14 Mon Sep 17 00:00:00 2001 From: Robert Honz Date: Wed, 10 Jan 2024 19:41:02 +0100 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20Refactored=20cover=20data?= =?UTF-8?q?=20method=20to=20`Metadata`.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tidal_dl_ng/download.py | 10 ---------- tidal_dl_ng/metadata.py | 30 +++++++++++++++++++----------- 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/tidal_dl_ng/download.py b/tidal_dl_ng/download.py index 35d33db..7e2129a 100644 --- a/tidal_dl_ng/download.py +++ b/tidal_dl_ng/download.py @@ -188,16 +188,6 @@ class Download: return f"https://resources.tidal.com/images/{sid.replace('-', '/')}/{int(width)}x{int(height)}.jpg" - def cover_data(self, sid, width: int = 320, height: int = 320): - url = self.cover_url(sid, width, height) - - try: - result: str = requests.get(url).content - except: - result: str = "" - - return result - def metadata_write(self, track: Track, path_file: str): result: bool = False release_date: str = track.album.release_date.strftime("%Y-%m-%d") if track.album.release_date else "" diff --git a/tidal_dl_ng/metadata.py b/tidal_dl_ng/metadata.py index 1b53dea..7b60f2b 100644 --- a/tidal_dl_ng/metadata.py +++ b/tidal_dl_ng/metadata.py @@ -72,17 +72,8 @@ class Metadata: self.m: mutagen.MP4.MP4 | mutagen.m4a.M4A | mutagen.flac.FLAC | mutagen.mp3.MP3 = mutagen.File(self.path_file) def _cover(self) -> bool: - result = False - data_cover = None - - if self.url_cover: - try: - data_cover = requests.get(self.url_cover).content - except: - data_cover = "" - elif self.path_cover: - with open(self.path_cover, "rb") as f: - data_cover = f.read() + result: bool = False + data_cover: str | bytes = self.cover_data(url=self.url_cover, path_file=self.path_cover) if data_cover: if self.type_audio == "flac": @@ -161,3 +152,20 @@ class Metadata: self.m.tags["\xa9day"] = self.date self.m.tags["\xa9wrt"] = ", ".join(self.composer) self.m.tags["\xa9lyr"] = self.lyrics + + def cover_data(self, url: str = None, path_file: str = None) -> str | bytes: + result: str | bytes = "" + + if url: + try: + result = requests.get(url).content + except: + pass + elif path_file: + try: + with open(path_file, "rb") as f: + result = f.read() + except OSError: + pass + + return result