Commit Graph
143 Commits
Author SHA1 Message Date
Robert Honz a96d44170b refactor(download): 🔧 Improve media validation and preparation logic
* Enhanced `_validate_and_prepare_media` method to support additional media types: `Album`, `Playlist`, `UserPlaylist`, and `Mix`.
* Updated media validation checks to ensure proper handling of unavailable media.
* Refactored `_validate_media_instance` to streamline media instance creation and validation.
* Removed redundant `_validate_and_prepare_media_collection` method for cleaner code.
2025-07-03 08:53:44 +02:00
Robert Honz 3085cd67a1 refactor(download): ✨ Enhance media collection handling and download execution
* Improved validation and preparation of media collections for downloads.
* Refactored download context setup and execution logic for better clarity and maintainability.
* Added progress tracking for download tasks and improved handling of download futures.
2025-07-02 15:11:19 +02:00
Robert Honz 33f5fcbda8 refactor(download): 🔧 Improve media validation and download process
* Reordered parameters in `item` method for clarity.
* Added `_validate_media_instance` method to streamline media validation.
* Enhanced `_prepare_file_paths_and_skip_logic` for better file handling.
* Introduced `_perform_actual_download` to encapsulate download logic.
* Improved error handling and logging throughout the download process.
2025-07-02 14:52:31 +02:00
Robert Honz 37f9250cdf refactor(download): ✨ Refactor media download logic for clarity and efficiency
* Renamed `_download` to `_get_media_urls` for better clarity on its purpose.
* Simplified URL extraction logic for `Track` and `Video` media types.
* Improved progress setup and error handling in the download process.
* Enhanced `_download_segments` and `_download_postprocess` methods for better readability and maintainability.
2025-07-02 10:29:54 +02:00
Robert Honz 35d4ff9229 refactor(download): ✨ Enhance docstrings for RequestsClient and Download classes
* Improved documentation for methods in the `RequestsClient` and `Download` classes.
* Added detailed descriptions, parameters, and return types to enhance code readability and maintainability.
2025-07-02 08:55:56 +02:00
Robert Honz fd16a620f2 refactor(gui): ✨ Enhance type annotations and improve method signatures
* Updated type hints for various methods in  and  classes.
* Changed list types from  to  for better clarity and consistency.
* Improved function signatures to include return types for better type safety.
2025-07-02 08:47:59 +02:00
Robert Honz 70e29771b9 🛠️ Directory length limit is checked and adapted correctly now. Fixes #447 & #436 2025-06-30 16:33:32 +02:00
Robert Honz 039546ffe8 👷 Lists and cover will be loaded in background. Gui won't hang anymore. Fixes #423 2025-06-29 20:33:22 +02:00
Robert Honz 819655d8b7 ✨ Implemented playlist track position naming ({list_pos}) for downloads. Fixes #165 2025-04-02 07:00:28 +02:00
Robert Honz 6ac116beed 🛠️ Fixed and simplified path_file_sanitize method. 2025-03-27 19:01:51 +01:00
Robert Honz 309ded73e4 🛠️ Fix: Only re-create media item if it is a track. Fixes #386 2025-03-25 21:22:35 +01:00
Robert Honz b50e3bd14d 👷 Code style. 2025-03-24 09:01:49 +01:00
Robert Honz efc2549ab5 👷 Check if albums and videos are available or not due to regional restrictions. Fixes #277 2025-03-24 08:57:47 +01:00
Robert Honz 0684994850 ✨ Downloads can be now paused / resumed. Fixes #149 & 324
👷 Shutdown is handled more gracefully.
2025-03-03 09:31:37 +01:00
Robert Honz 0726175503 👷 CLI: Download list is scrolling vertically and overall progress is shown at the bottom. Fixes #374 2025-03-01 21:53:46 +01:00
Robert Honz 303435ad1e 👷 Close network connections explicitly. Fixes #371 2025-02-28 17:27:12 +01:00
Robert Honz 7a4d6ceae7 🛠️ Fixed path length sanitation. Also refactored the path helper to use pathlib.Path instead of str. Fixed #358 2025-02-28 16:57:18 +01:00
Robert Honz 39e0e876d7 🛠️ Fixed composer in metadata. Needs to be empty string. 2025-02-28 11:47:38 +01:00
Robert Honz 5e91194bd1 ✨ Replay gain information can be disabled in settings. Fixes #176
🛠️ Fixed some warnings
2025-02-28 10:55:41 +01:00
Robert Honz 57789f10e8 ✨ Adding TIDAL share url to metadata. See #176 2025-02-28 10:39:53 +01:00
Robert Honz 113448620e 🛠️ Fix: No media_metadata_tags available for videos. Fixes #338 2025-01-17 09:43:41 +01:00
Robert Honz 2055606d0b 👷 File extension guesser improved. Fixes #322 2025-01-12 17:42:09 +01:00
Robert Honz bf7000cab0 🛠️ Fix: Playlist was not created if symlink was deactivated. Fixes #322 2025-01-11 16:07:30 +01:00
Robert Honz 8e66cb3259 🛠️ Fix: Very short tracks detected as corrupt download. 2025-01-05 21:26:11 +01:00
Robert Honz 6f5b8cf164 👷 Code style applied. 2025-01-04 13:42:46 +01:00
Robert Honz c0ca748119 👷 Tracks will be linked relatively within the download folder. 2025-01-04 12:51:17 +01:00
Robert Honz 5012c5d4de 👷 Moved to maintained python-ffmpeg. 2025-01-03 16:06:13 +01:00
Robert Honz 4a2b463f14 👷 To be able to re-create m3u playlist file check for path not download status. 2024-12-25 11:34:23 +01:00
Robert Honz d8cc4215f2 ✨ Check if download was successful before adding path to m3u creation. 2024-12-17 09:41:06 +01:00
Robert Honz 3897daedf1 ✨ Added better initial file extension guesser. Refined file skipping technique. 2024-12-16 23:10:35 +01:00
Robert Honz 824ae6a20f 🛠️ Fixed wrong symlink creation. Hot fixed extension detection of tidalapi. 2024-12-16 16:40:21 +01:00
Robert Honz a03cda10ec ✨ Playlist can be created for downloaded albums, mixes, UserPlaylists etc. Fixes #108 2024-12-16 14:42:53 +01:00
Robert Honz 785724a3e0 ✨ On symlink downloads will be skipped, if item in track folder already exist. It will be still symlinked. 2024-12-16 10:55:09 +01:00
Robert Honz 88c5892cb9 ✨ Items can be symlinked to track folder. 2024-12-16 10:40:06 +01:00
Robert Honz 5768edacc5 ✨ Multithreaded downloads implemented (for Playlists, Albums etc.). Fixes #180 2024-12-15 23:35:10 +01:00
Robert Honz b8091e233b ✨ Album track number padding can be set. Fixes #142 2024-12-15 20:37:06 +01:00
Robert Honz 80419c727e 🛠️ Fixed .get_stream() not available for videos. Fixes #267 2024-12-13 10:14:41 +01:00
Robert Honz 5556063e35 ✨ ReplayGain information added to metadata. 2024-11-29 21:56:42 +01:00
Robert Honz e80a3dcb12 ✨ Reverted tidalapi workaround (file extension bug fix). 2024-11-29 18:03:33 +01:00
Robert Honz dda52eb05e 👷 Stream manifest will only be retrieved once per media item. Download delay will be read from config. Exception handling improved. Fixes #248 2024-11-20 12:30:14 +01:00
Robert Honz 037e6f14a2 ✨ Finished items will be written to log output. Minor refactoring. 2024-11-15 09:57:01 +01:00
Robert Honz f28d07b651 ✨ Todo added to implement download speed. 2024-11-15 09:14:00 +01:00
Robert Honz a9ff6dc558 🛠️ Fixed segment id calculation for BTS tracks. Fixes #232
Fixed GUI crash on trailing / leading spaces in search terms.
2024-11-14 15:10:14 +01:00
Robert Honz 9438244612 🛠️ Workaround for wrong extension detection of tidalapi. Fixes #232 2024-11-14 13:11:06 +01:00
Robert Honz d3dedc0b6f ✨ Added some error handling for file merge. 2024-11-14 08:07:54 +01:00
Robert Honz 65dbe85241 ✨ Bug fix for import constants. 2024-11-13 13:45:38 +01:00
Robert Honz 7134e0e51b ✨ tidalapi and dependent code was updated. 2024-11-13 13:09:58 +01:00
Robert Honz f5ed1c6554 ✨ Time exponential retries on segment download errors. Fixes #196 2024-11-13 12:36:01 +01:00
Robert Honz ae2dd4fb2b 🛠️ Do not attempt to set quality if it is set to None. 2024-11-13 12:04:24 +01:00
Robert Honz f3be5f3014 🛠️ Fixed ffmpeg output file to str. Fixed segment parsing for videos while downloading segments. Lowered time delay span. 2024-11-13 10:58:52 +01:00