summaryrefslogtreecommitdiff
path: root/tidal_dl_ng/helper/tidal.py
diff options
context:
space:
mode:
authorRobert Honz <exislow+github@gmail.com>2024-01-14 23:09:43 +0100
committerRobert Honz <exislow+github@gmail.com>2024-01-14 23:09:43 +0100
commitec728d4dcd4741d307cf3c052c1b9ba3d4a7eb92 (patch)
tree74ed3d5c341392a703d984a4e052ddb62e153ca6 /tidal_dl_ng/helper/tidal.py
parentaffaae101e67fd2ee1aebc04b2ea1b551fe05d2f (diff)
downloadtidal-dl-ng-ec728d4dcd4741d307cf3c052c1b9ba3d4a7eb92.tar.gz
♻️ Refactored `download` for CLI.
Diffstat (limited to 'tidal_dl_ng/helper/tidal.py')
-rw-r--r--tidal_dl_ng/helper/tidal.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/tidal_dl_ng/helper/tidal.py b/tidal_dl_ng/helper/tidal.py
index 78434b6..a48abcd 100644
--- a/tidal_dl_ng/helper/tidal.py
+++ b/tidal_dl_ng/helper/tidal.py
@@ -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