♻️ Fixed error on missing isrc metadata.

This commit is contained in:
Robert Honz
2023-12-20 07:42:36 +01:00
parent 0d4a9d6b87
commit 71c6c2e05f
+10 -7
View File
@@ -6,12 +6,16 @@ import shutil
import tempfile import tempfile
import time import time
from logging import Logger from logging import Logger
from requests.exceptions import HTTPError
from uuid import uuid4 from uuid import uuid4
import ffmpeg import ffmpeg
import m3u8 import m3u8
import requests import requests
from pathvalidate import sanitize_filepath
from requests.exceptions import HTTPError
from rich.progress import Progress
from tidalapi import Album, Mix, Playlist, Session, Track, UserPlaylist, Video
from tidal_dl_ng.config import Settings from tidal_dl_ng.config import Settings
from tidal_dl_ng.constants import MediaType from tidal_dl_ng.constants import MediaType
from tidal_dl_ng.helper.decryption import decrypt_file, decrypt_security_token from tidal_dl_ng.helper.decryption import decrypt_file, decrypt_security_token
@@ -20,9 +24,6 @@ from tidal_dl_ng.helper.path import check_file_exists, format_path_media, path_v
from tidal_dl_ng.helper.wrapper import WrapperLogger from tidal_dl_ng.helper.wrapper import WrapperLogger
from tidal_dl_ng.metadata import Metadata from tidal_dl_ng.metadata import Metadata
from tidal_dl_ng.model.gui_data import ProgressBars from tidal_dl_ng.model.gui_data import ProgressBars
from pathvalidate import sanitize_filepath
from rich.progress import Progress
from tidalapi import Album, Playlist, Session, Track, UserPlaylist, Video, Mix
# TODO: Set appropriate client string and use it for video download. # TODO: Set appropriate client string and use it for video download.
@@ -81,7 +82,7 @@ class Download:
media_type: MediaType = None, media_type: MediaType = None,
video_download: bool = True, video_download: bool = True,
progress_gui: ProgressBars = None, progress_gui: ProgressBars = None,
progress: Progress = None progress: Progress = None,
) -> (bool, str): ) -> (bool, str):
if id: if id:
if media_type == MediaType.Track: if media_type == MediaType.Track:
@@ -201,12 +202,14 @@ class Download:
result: bool = False result: bool = False
release_date: str = track.album.release_date.strftime("%Y-%m-%d") if track.album.release_date else "" release_date: str = track.album.release_date.strftime("%Y-%m-%d") if track.album.release_date else ""
copy_right: str = track.copyright if track.copyright else "" copy_right: str = track.copyright if track.copyright else ""
isrc: str = track.isrc if track.isrc else ""
try: try:
lyrics: str = track.lyrics().text if hasattr(track, "lyrics") else "" lyrics: str = track.lyrics().text if hasattr(track, "lyrics") else ""
except HTTPError: except HTTPError:
lyrics: str = "" lyrics: str = ""
# TODO: Check if it is possible to pass "None" values.
m: Metadata = Metadata( m: Metadata = Metadata(
path_file=path_file, path_file=path_file,
lyrics=lyrics, lyrics=lyrics,
@@ -216,7 +219,7 @@ class Download:
album=track.album.name, album=track.album.name,
tracknumber=track.track_num, tracknumber=track.track_num,
date=release_date, date=release_date,
isrc=track.isrc, isrc=isrc,
albumartist=track.artist.name, albumartist=track.artist.name,
totaltrack=track.album.num_tracks if track.album.num_tracks else 1, totaltrack=track.album.num_tracks if track.album.num_tracks else 1,
totaldisc=track.album.num_volumes if track.album.num_volumes else 1, totaldisc=track.album.num_volumes if track.album.num_volumes else 1,
@@ -288,7 +291,7 @@ class Download:
media=media, media=media,
progress_gui=progress_gui, progress_gui=progress_gui,
progress=progress, progress=progress,
fn_logger=fn_logger fn_logger=fn_logger,
) )
progress.advance(p_task1) progress.advance(p_task1)