summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Honz <exislow+github@gmail.com>2024-01-10 19:41:02 +0100
committerRobert Honz <exislow+github@gmail.com>2024-01-10 19:41:02 +0100
commite2dbd891e95067572d1ea5885b011accac4a0d14 (patch)
tree607604123d2da6daa1487aad03086f4256e0eedd
parentaeefae3f3d308c4ffa9dabdad6ddf0610620a150 (diff)
downloadtidal-dl-ng-e2dbd891e95067572d1ea5885b011accac4a0d14.tar.gz
♻️ Refactored cover data method to `Metadata`.
-rw-r--r--tidal_dl_ng/download.py10
-rw-r--r--tidal_dl_ng/metadata.py30
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