Commit Graph
109 Commits
Author SHA1 Message Date
exislowandGitHub df2b5e1ef9 Merge pull request #625 from talios/feature/klrrwxuwvrty
Add format place holder for album_type
2025-11-12 09:37:11 +01:00
Mark Derricutt 5d573c57c9 Add format place holder for album_type
This commit exposes the album type as a configuration placeholder.

Fixes #595

Change-Id: Ife8832534861fc01da5d68c37be6c7476a6a6964
2025-11-05 09:21:00 +13:00
Jeff BrowerandGitHub be43c3f616 Fix album_artist substitution
For albums that are listed with a non-"main" artist first (ex: 37691520), the album artist replacement was returning an empty string. This isn't a problem with the default settings, but if you format albums into `{album_artist}/...`, the path becomes `/...` in this case, and is interpreted as an absolute path instead of a relative one, causing the download to fail.

This changes the logic so that if the `first_only` flag is passed, it will return after the first artist is actually added to the list, no longer returning an empty string.
2025-10-26 10:33:07 -04:00
Winman486 3c835c2d19 Merge upstream/master and resolve conflicts
- Resolved conflict in dialog_settings.py (kept both cb_use_primary_album_artist and cb_mark_explicit checkboxes)
- Fixed code quality issues found by make check:
  * Removed duplicate on_download_album_from_track function (F811)
  * Updated isinstance calls to use X | Y syntax instead of (X, Y) (UP038)
  * Fixed unused loop variable album_stub (B007)
  * Applied automatic formatting fixes (black, prettier, trailing whitespace)
- Only remaining issue is C901 complexity warning in on_download_all_albums_from_playlist (expected per maintainer feedback)
2025-10-20 16:12:46 -05:00
Winman486 ac3bf51c56 feat(gui): add 'Download Full Album', 'Download All Albums', and 'Single album folder (primary artist)' preference 2025-10-17 15:17:02 -05:00
Robert Honz 3d5b52209e fix(path): 🐛 add **kwargs support to formatting functions
* Updated multiple formatting functions to accept **kwargs for better flexibility.
* Ensures consistent handling of additional parameters across artist, title, name, number, date, metadata, and volume formatting.
2025-10-17 15:05:19 +02:00
Robert Honz dd5a402dce feat(path): ✨ add customizable delimiters for artist names in file paths
* Updated `format_path_media` and related functions to accept customizable delimiters for artist names.
* Modified `Settings` class to include `filename_delimiter_artist` and `filename_delimiter_album_artist`.
* Enhanced `name_builder_artist` and `name_builder_album_artist` functions to utilize the new delimiters.
2025-10-17 13:13:19 +02:00
Robert Honz 5da1855028 feat(metadata): ✨ add customizable metadata delimiters for artists
* Introduced `metadata_delimiter_artist` and `metadata_delimiter_album_artist` settings.
* Updated `name_builder_artist` and `name_builder_album_artist` functions to utilize the new delimiters.
* This allows users to specify their preferred delimiter for artist names in metadata.
2025-10-17 12:06:25 +02:00
Maya Doshi 59ee4cd272 change artist delimiter to semicolon 2025-09-29 11:49:39 -04:00
Robert Honz dfc8968b1f fix(path): 🐛 correct filename sanitization logic
* Adjusted the logic in `path_file_sanitize` to ensure the sanitized filename correctly appends the file suffix after the placeholder.
* This change prevents potential filename issues when handling file paths.
2025-09-25 20:25:00 +02:00
Robert Honz 541527be32 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.
2025-09-07 18:27:30 +02:00
Robert Honz afdb523cb5 feat: add support for formatting album release dates
This update introduces support for handling date-related format strings, improving the flexibility of media metadata formatting.

- ✨ **Feature**: Adds `_format_dates` function to handle date-related strings like `album_date`.
- 🛠️ **Enhancement**: Refactors `_format_durations` by isolating date-related logic into a new function.
- 📅 **Improvement**: Supports formatting `album_year` and `album_date` with proper checks for `Album` and `Track` types.

This improvement enhances media metadata formatting capabilities for more detailed date information.
2025-08-12 10:52:53 +02:00
Robert Honz a0a6a8d15b refactor(helper): improve ID format handling logic
Refactors the ID formatting logic to extend support for `video_id` and improve clarity.

- ✨ **Feature:** Adds support for `video_id` in ID formatting logic.
- ♻️ **Refactor:** Updates conditional checks for better readability.
- 🔧 **Metadata:** Updates `poetry.lock` content hash.

These changes enhance functionality and maintainability by accommodating additional media types.
2025-08-12 10:18:20 +02:00
Robert Honz 4662d18fdf refactor(decryption): ✨ Improve docstring for decrypt_security_token function
- Enhanced clarity of the function's purpose and usage.
- Added detailed descriptions for arguments and return values.
2025-07-03 09:45:18 +02:00
Robert Honz a91a368994 feat: ✨ Enhance media formatting functions
* Added detailed docstrings for `format_str_media` and related helper functions.
* Refactored media formatting logic to utilize dedicated functions for better readability and maintainability.
* Improved error handling in media formatting.
* Updated `file_unique_suffix` function to correct the spelling of `separator`.
2025-07-01 11:05:33 +02:00
Robert Honz f546b43101 ✨ Add docstrings for path-related functions and improve path sanitization logic. 2025-07-01 09:56:17 +02:00
Robert Honz 181daf53a4 🛠️ Windows drives won't get sanitized anymore. Fixes #474 2025-07-01 07:34:07 +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 db5c5eac97 ✨ will only return the first artists. will return all album artists. Fixes #439 2025-06-29 21:42:39 +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 b50e3bd14d 👷 Code style. 2025-03-24 09:01:49 +01:00
Robert Honz b3ed18acaf 🛠️ Fixed: Skip file is not ignored anymore. Filenames will not be uniquified by default. 2025-03-24 08:22:12 +01:00
Robert Honz f936a8794b 🛠️ Fixed: Wrong path build after file sanitization on Windows. Fixes #389 & #358 2025-03-24 07:34:13 +01:00
Robert Honz b25b58a03b 👷 Refactored path file split method. 2025-03-24 07:12:16 +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
exislowandGitHub 3af7d12580 Merge pull request #369 from flesnuk/master
Add isrc to path formatting
2025-02-28 11:14:21 +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
flesnukandGitHub 456266ba0b Add isrc to path formatting 2025-02-19 19:07:31 +01:00
Robert Honz 2055606d0b 👷 File extension guesser improved. Fixes #322 2025-01-12 17:42:09 +01:00
Robert Honz b8091e233b ✨ Album track number padding can be set. Fixes #142 2024-12-15 20:37:06 +01:00
Robert Honz ccbb1f246c 🛠️ Fixed track volume number gets omitted on CDn-1. Fixes #151 2024-12-13 10:33:35 +01:00
Robert Honz 56f4522f2b 🛠️ Fixed {album_artist} tag replacement on track level. Fixes #239 2024-11-17 23:06:36 +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 7134e0e51b ✨ tidalapi and dependent code was updated. 2024-11-13 13:09:58 +01:00
Robert Honz 3171b1570b ✨ Do not process tracks with missing segments. Refactored some method to pathlib.Path. 2024-11-13 09:49:33 +01:00
Robert Honz c1a102f646 ✨ Removed complex skipping options in favor of a faster duplicates check / skipping of already present items without download delay. 2024-11-13 09:09:00 +01:00
Robert Honz 78a48348a8 ✨ Track segments are downloaded simultaneously, which results in a huge speed increase. Some refactoring work has been done. 2024-11-12 22:15:11 +01:00
Robert Honz 02de0c8108 Fix: {album_artist} is now emitting only the album artist is only replaced on an Album level. Fixes #200 2024-11-10 14:30:02 +01:00
Robert Honz ce02215d7c {track_volume_num_optional} and {track_volume_num_optional_CD} added for an optional sub CD folder structure. Fixes #151 2024-11-10 14:21:10 +01:00
Robert Honz cee7696cfb Fix: Replace {artist_name} only on Track / Video basis. Fixes #171 2024-11-10 13:56:27 +01:00
Robert Honz 43fabacd95 Respect user specified config directory. Fixes #141 2024-11-09 13:51:39 +01:00
Robert Honz 558dfa65cc Respect user specified config directory. Fixes #141 2024-11-09 13:45:43 +01:00
Robert Honz 4012edfed3 Bug fix: Pagination for user playlists loading more than 50 items now. Fixes #131 2024-11-09 08:54:59 +01:00
Robert Honz f41d65d7d3 Since TIDAL has remove MQA (HI_RES), all traces of MQA have been removed here. 2024-11-06 15:01:18 +01:00
Robert Honz 1e9b24e282 ✨ {album_id} can be used for track naming. Fixes #123 2024-06-16 16:18:22 +02:00
Robert Honz 9c5ef7afe4 🛠️ Apply filter for results with children. Fixes #130 2024-06-16 15:55:09 +02:00
Robert Honz e9af97ef91 👷 Pagination enabled for playlists. Fixes #131 2024-06-16 14:21:46 +02:00
Robert Honz e61d68200a 🛠️ Fixed import error. 2024-05-24 10:01:01 +02:00
Robert Honz 182e531798 🛠️ Fixed crash on right click -> download a favorite list. 2024-05-24 09:31:37 +02:00