♻️ Refactored download for CLI.

This commit is contained in:
Robert Honz
2024-01-14 23:09:43 +01:00
parent affaae101e
commit ec728d4dcd
9 changed files with 134 additions and 90 deletions
+30
View File
@@ -1,5 +1,7 @@
from tidalapi import Track
from tidal_dl_ng.constants import MediaType
def name_builder_artist(media: Track) -> str:
return ", ".join(artist.name for artist in media.artists)
@@ -11,3 +13,31 @@ def name_builder_title(media: Track) -> str:
def name_builder_item(media: Track) -> str:
return f"{name_builder_artist(media)} - {name_builder_title(media)}"
def get_tidal_media_id(url_or_id_media: str) -> str:
id_dirty = url_or_id_media.rsplit("/", 1)[-1]
id_media = id_dirty.rsplit("?", 1)[0]
return id_media
def get_tidal_media_type(url_media: str) -> MediaType | bool:
result: MediaType | bool = False
url_split = url_media.split("/")[-2]
if len(url_split) > 1:
media_name = url_media.split("/")[-2]
if media_name == "track":
result = MediaType.Track
elif media_name == "video":
result = MediaType.Video
elif media_name == "album":
result = MediaType.Album
elif media_name == "playlist":
result = MediaType.Playlist
elif media_name == "mix":
result = MediaType.Mix
return result