summaryrefslogtreecommitdiff
path: root/tidal_dl_ng/helper/tidal.py
diff options
context:
space:
mode:
authorRobert Honz <exislow+github@gmail.com>2025-09-07 18:27:30 +0200
committerRobert Honz <exislow+github@gmail.com>2025-09-07 18:27:30 +0200
commit541527be322a73e4ecdef215e04dc0a040250063 (patch)
tree9faec435eb0db7a8ae018ca886050c485eab3ed7 /tidal_dl_ng/helper/tidal.py
parent47b1f2a6692d0981afa9e1d9708e71e7f41b37cc (diff)
downloadtidal-dl-ng-541527be322a73e4ecdef215e04dc0a040250063.tar.gz
feat(tidal): ✨ add url_ending_clean function and refactor URL handling. Fixes #523
* Introduced `url_ending_clean` to sanitize URLs by removing trailing "/u" or "?u". * Updated `_process_url` and GUI search logic to utilize cleaned URLs for better validation and processing.
Diffstat (limited to 'tidal_dl_ng/helper/tidal.py')
-rw-r--r--tidal_dl_ng/helper/tidal.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/tidal_dl_ng/helper/tidal.py b/tidal_dl_ng/helper/tidal.py
index 3896fa6..96348f2 100644
--- a/tidal_dl_ng/helper/tidal.py
+++ b/tidal_dl_ng/helper/tidal.py
@@ -41,6 +41,7 @@ def name_builder_item(media: Track | Video) -> str:
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]
@@ -70,6 +71,18 @@ def get_tidal_media_type(url_media: str) -> MediaType | bool:
return result
+def url_ending_clean(url: str) -> str:
+ """Checks if a link ends with "/u" or "?u" and removes that part.
+
+ Args:
+ url (str): The URL to clean.
+
+ Returns:
+ str: The cleaned URL.
+ """
+ return url[:-2] if url.endswith("/u") or url.endswith("?u") else url
+
+
def search_results_all(session: Session, needle: str, types_media: SearchTypes = None) -> dict[str, [SearchTypes]]:
limit: int = 300
offset: int = 0