Lidarr Support / Customisable Search categories #301
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Lidarr & Music Support
Music Search: Implemented search handling for Category 3000 (Music) across all supported sites.
API Integration: Updated the API to explicitly recognize and handle the Lidarr client.
Configuration: Added music categories to the global constants and default settings.
Tooling: Updated the CLI tester and documentation to reflect these new capabilities.
Custom Search Categories
New Feature: Users can now define custom Newznab categories based on standard base types.
Web UI: Added interface elements to create and manage these custom categories.
Logic: Refactored search sources to resolve base category types dynamically and updated the Newznab API to support these dynamic lists.
Refactoring & Improvements
Hoster Constants: Centralized hoster definitions into a single location, allowing lists to be derived dynamically rather than hardcoded in multiple places.
String Sanitization: Extracted umlaut replacement logic into a shared utility function (utils) to ensure consistency between search results and filename handling.
Download Source: Improved normalization for mirror names and status mapping.