diff options
| author | Robert Honz <exislow+github@gmail.com> | 2024-01-14 23:09:43 +0100 |
|---|---|---|
| committer | Robert Honz <exislow+github@gmail.com> | 2024-01-14 23:09:43 +0100 |
| commit | ec728d4dcd4741d307cf3c052c1b9ba3d4a7eb92 (patch) | |
| tree | 74ed3d5c341392a703d984a4e052ddb62e153ca6 /tidal_dl_ng/helper/tidal.py | |
| parent | affaae101e67fd2ee1aebc04b2ea1b551fe05d2f (diff) | |
| download | tidal-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.py | 30 |
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 |
