summaryrefslogtreecommitdiff
path: root/tidal_dl_ng
Commit message (Collapse)AuthorAgeFilesLines
* feat(metadata): โœจ add explicit track metadata handlingRobert Honz2025-10-172-2/+7
| | | | | * Introduced `METADATA_EXPLICIT` constant for explicit track indication. * Updated `Download` class to append explicit metadata to track titles.
* feat(metadata): โœจ add support for explicit track metadataRobert Honz2025-10-172-0/+5
| | | | | | * Added `explicit` attribute to the `Metadata` class. * Updated the constructor to initialize `explicit` with a default value of `False`. * Modified the metadata saving process to include explicit rating in tags.
* fix(path): ๐Ÿ› add **kwargs support to formatting functionsRobert Honz2025-10-171-18/+9
| | | | | * 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.
* feat(metadata): โœจ add support for synced and unsynced lyricsRobert Honz2025-10-172-6/+17
| | | | | | * Introduced `lyrics_synced` and `lyrics_unsynced` fields in the `Metadata` class. * Updated the `Download` class to handle both synced and unsynced lyrics from the track. * Enhanced metadata writing to include `UNSYNCEDLYRICS` in the tags.
* feat(metadata): โœจ add UPC metadata handling and configurationRobert Honz2025-10-174-4/+30
| | | | | | | * Introduced `MetadataTargetUPC` enum for target metadata tags. * Added `METADATA_LOOKUP_UPC` dictionary for mapping file formats to UPC tags. * Updated `Metadata` class to include `target_upc` for dynamic UPC tag assignment. * Enhanced `Settings` class to allow configuration of `metadata_target_upc`.
* feat(path): โœจ add customizable delimiters for artist names in file pathsRobert Honz2025-10-174-27/+125
| | | | | | * 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.
* feat(metadata): โœจ add customizable metadata delimiters for artistsRobert Honz2025-10-173-6/+10
| | | | | | * 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.
* Queue button should indicate the action that will occur when clicked โ€” โ†ตRobert Honz2025-10-173-7/+7
| | | | | | currently it shows present state Fixes #561
* fix(Tidal): ๐Ÿ› handle all exceptions during token loginRobert Honz2025-10-171-2/+1
| | | | | * Updated exception handling in the `login` method to catch all exceptions instead of just `HTTPError` and `JSONDecodeError`. * This change ensures that any unexpected errors during the login process are handled gracefully, improving the robustness of the application.
* fix(dependencies): ๐Ÿ› update `tidalapi` version to 0.8.8Robert Honz2025-10-151-0/+5
| | | | | | * Updated `tidalapi` from version `0.8.7` to `0.8.8` in `pyproject.toml`. * Updated package version in `poetry.lock` to reflect the change. * Added new file hashes for the updated version.
* Merge pull request #563 from exislow/437-album-with-zero-tracks-causes-hangexislow2025-10-061-0/+10
|\ | | | | fix(download): ๐Ÿ› handle empty items list in download process
| * fix(download): ๐Ÿ› handle empty items list in download processRobert Honz2025-10-061-0/+10
| | | | | | | | | | * Added a check for empty `items` list to mark progress as complete. * Ensured GUI updates correctly reflect progress for empty downloads.
* | fix(cfg): ๐Ÿ› set `metadata_replay_gain` to falseRobert Honz2025-10-061-1/+1
|/ | | | | * Updated the `metadata_replay_gain` setting in `Settings` class to `False`. * This change disables replay gain metadata processing by default.
* fix(gui): ๐Ÿ› adjust MainWindow initialization and clean up close event methodRobert Honz2025-09-301-1/+1
| | | | | * Added a missing line in the `MainWindow` constructor to ensure proper settings initialization. * Removed unnecessary blank line in the `closeEvent` method for cleaner code.
* Merge pull request #517 from joshuacant/masterexislow2025-09-302-5/+32
|\ | | | | Adds: window size/position saving, dynamic column widths, double-click row action
| * move window size and position restore into the correct functionJoshua Cantara2025-09-081-7/+6
| |
| * add help strings for new settingsJoshua Cantara2025-09-081-0/+4
| |
| * set column widths dynamically based on window widthJoshua Cantara2025-09-011-3/+9
| |
| * save and restore main window position and sizeJoshua Cantara2025-09-012-1/+18
| |
| * double click a result row to download itJoshua Cantara2025-09-011-0/+1
| |
* | fix(metadata): ๐Ÿ› improve metadata retrieval and error handlingRobert Honz2025-09-301-16/+18
| | | | | | | | | | | | | | * Changed type hint for `paths` from `[Path]` to `list[Path]`. * Simplified the check for `pyproject.toml` existence. * Enhanced error handling in metadata retrieval with specific exceptions. * Updated the `update_available` function signature for clarity.
* | Merge pull request #537 from iCrazeiOS/masterexislow2025-09-301-1/+8
|\ \ | | | | | | Fix edge case with repository_url parsing
| * | Fix edge case with repository_url parsingiCraze2025-09-171-1/+8
| | |
* | | change artist delimiter to semicolonMaya Doshi2025-09-291-2/+2
| | |
* | | fix(path): ๐Ÿ› correct filename sanitization logicRobert Honz2025-09-251-1/+3
|/ / | | | | | | | | * 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.
* | fix(download): ๐Ÿ› adjust cover image handling to prevent metadata size issuesRobert Honz2025-09-071-3/+11
| | | | | | | | | | * Prevent writing `CoverDimensions.PxORIGIN` to metadata to avoid exceeding max file size (>16Mb). * Ensure correct cover image is used based on `cover_dimension` settings.
* | feat(tidal): โœจ add url_ending_clean function and refactor URL handling. โ†ตRobert Honz2025-09-073-20/+38
|/ | | | | | | 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.
* refactor(constants): streamline enums and enhance type annotationsRobert Honz2025-08-132-26/+36
| | | | | | | | | | | This commit refactors the codebase to improve readability and maintainability by updating enums and type annotations: - โœจ **Replaced `StrEnum` attributes**: Removed explicit type declarations for enum values to simplify the code. - ๐Ÿ› ๏ธ **Introduced `AudioExtensionsValid` enum**: Added a new enum for valid audio file extensions. - ๐Ÿ”„ **Enhanced type annotations**: Updated `FAVORITES` dictionary to include specific type hints for clarity. - ๐Ÿงน **Updated references**: Replaced outdated `AudioExtensions` usage with the new `AudioExtensionsValid`. These changes improve code clarity, enforce stricter typing, and enhance extensibility.
* feat: add metadata_write_url setting for conditional URL metadata writingRobert Honz2025-08-122-1/+3
| | | | | | | | | | Introduces a new configuration option, `metadata_write_url`, to control whether the media file URL is included in metadata. Updates logic to respect this setting. - โœจ **Feature**: Adds `metadata_write_url` to enable/disable URL writing in metadata. - ๐Ÿ”ง **Logic Update**: Adjusts URL handling to check the new setting before including it. - ๐Ÿ“ **Documentation**: Updates help descriptions to explain the new option. This change improves flexibility in metadata customization.
* feat: add support for original image dimension in album coversRobert Honz2025-08-122-1/+6
| | | | | | | | | | Adds functionality to handle original image dimensions (`origin`) for album cover downloads. - โœจ Added `PxORIGIN` option to cover dimension constants. - ๐Ÿ”„ Updated cover image URL logic to support original dimensions. - ๐Ÿ› ๏ธ Improved cover data handling for more flexible metadata embedding. This enhances customization and fidelity in cover image management.
* feat(gui): enhance app icons with multi-resolution supportRobert Honz2025-08-1210-3/+8
| | | | | | | | | | | | Improves the application's icon handling by introducing multi-resolution support, replacing a single PNG file with multiple resolution-specific icons. - โœจ **Added** multiple resolution icons (16x16, 32x32, 48x48, 64x64, 256x256, 512x512). - ๐Ÿ”„ **Updated** GUI setup to use multi-resolution icons for better scalability. - ๐Ÿ—‘๏ธ **Removed** the old single-resolution `icon.png`. This update ensures better compatibility and visual quality across different platforms and screen resolutions.
* feat: add support for formatting album release datesRobert Honz2025-08-121-2/+26
| | | | | | | | | | 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.
* refactor(helper): improve ID format handling logicRobert Honz2025-08-121-2/+4
| | | | | | | | | | 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.
* feat(metadata): add UPC support for metadata taggingRobert Honz2025-08-122-0/+7
| | | | | | | | | | | This update introduces support for handling UPCs (Universal Product Codes) in metadata processing. It ensures that UPC information is extracted, stored, and written to the appropriate metadata tags for various formats. - โœจ **Feature**: Adds UPC field to metadata handling. - ๐Ÿ› ๏ธ **Enhancement**: Updates metadata initialization to include UPC. - ๐Ÿ—‚๏ธ **Tagging**: Implements UPC writing for supported file formats. - โœ… **Compatibility**: Ensures proper handling when UPC is absent. This improvement enhances metadata completeness and compatibility with systems requiring UPC data.
* refactor(cli): restructure callback and favorites commandsRobert Honz2025-07-031-20/+31
| | | | | | | | | | | Refactors the CLI structure to improve readability and maintainability: - โ™ป๏ธ Replaces `dl_fav_group` with `app_dl_fav` for better naming consistency. - ๐Ÿ› ๏ธ Restructures the `callback_app` function, removing redundancy. - ๐Ÿš€ Adds a URL detection mechanism to streamline `dl <URL>` command simulation. - โœจ Enhances imports by adding `urlparse`. These updates aim to simplify the codebase and improve user experience.
* refactor(decryption): โœจ Improve docstring for `decrypt_security_token` โ†ตRobert Honz2025-07-031-2/+10
| | | | | | | function - Enhanced clarity of the function's purpose and usage. - Added detailed descriptions for arguments and return values.
* refactor(cli): ๐Ÿ”ง Update context handling in download functionsRobert Honz2025-07-031-16/+17
| | | | | | * Refactored `_handle_track_or_video` and `_handle_album_playlist_mix_artist` to use `typer.Context` instead of `Settings` directly. * Improved clarity by centralizing settings retrieval through context. * Adjusted `_process_url` and `_download` functions to align with the new context-based approach.
* refactor(download): ๐Ÿ”ง Improve media validation and preparation logicRobert Honz2025-07-031-56/+25
| | | | | | | * 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.
* refactor(download): โœจ Enhance media collection handling and download executionRobert Honz2025-07-021-35/+195
| | | | | | * 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.
* refactor(download): ๐Ÿ”ง Improve media validation and download processRobert Honz2025-07-021-100/+311
| | | | | | | | * 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.
* refactor(download): โœจ Refactor media download logic for clarity and efficiencyRobert Honz2025-07-021-39/+137
| | | | | | | * 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.
* refactor(download): โœจ Enhance docstrings for `RequestsClient` and โ†ตRobert Honz2025-07-021-0/+246
| | | | | | | `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.
* refactor(gui): โœจ Enhance type annotations and improve method signaturesRobert Honz2025-07-022-49/+49
| | | | | | * 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.
* refactor(gui): โœจ Improve filter handling in `MainWindow`Robert Honz2025-07-011-5/+7
| | | | | | * Refactored the filter extraction logic to directly use `header.filter_text(i)` for better clarity. * Updated the filters list to store tuples of index and text, enhancing the data structure used. * Ensured that the `proxy_model.filters` is set directly, simplifying the code.
* refactor(gui): โœจ Enhance type annotations and improve method signaturesRobert Honz2025-07-011-45/+45
| | | | | | * Updated type hints for several methods in `MainWindow` class to improve code clarity and type safety. * Changed return types to `None` where applicable. * Refined parameter types for better type checking and consistency.
* refactor(gui): โœจ Enhance documentation for `MainWindow` methodsRobert Honz2025-07-011-41/+451
| | | | | | * Added detailed docstrings for methods in the `MainWindow` class. * Improved clarity on parameters and return types for better understanding. * Aims to facilitate future development and maintenance.
* refactor(gui): โœจ Improve `search_result_to_model` method and extract โ†ตRobert Honz2025-07-011-105/+141
| | | | | | | | | helper functions * Refactored `search_result_to_model` to use type hints with `list` instead of `[*SearchTypes]`. * Added detailed docstring for better understanding of parameters and return types. * Extracted logic into helper methods for better readability and maintainability. * Improved handling of item availability and explicit content representation.
* fix(cli): ๐Ÿ› Correct type for `item_id` in `_handle_album_playlist_mix_artist`Robert Honz2025-07-011-22/+26
| | | | | | * Changed `item_id` type from `int` to `str` for better consistency. * Updated related list type from `list[int]` to `list[str]`. * Added type checks for `media_type`, `item_id`, and `file_template` in `_process_url` for improved error handling.
* refactor(cli): โœจ Improve function documentation and remove unused importsRobert Honz2025-07-011-115/+211
| | | | | | * Enhanced docstrings for clarity and consistency across functions. * Removed unused imports to clean up the codebase. * Improved the structure of the `_download` function for better readability.
* feat: โœจ Enhance media formatting functionsRobert Honz2025-07-011-123/+281
| | | | | | | * 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`.