feature: Enhanced Labelarr with Radarr/Sonarr Integration and Keyword Normalization#9
Conversation
nullable-eth
left a comment
There was a problem hiding this comment.
This is great, love the Radarr and Sonarr integration. The normalize does not exactly work, and I noticed this before, but I think Plex does there own processing of the label.
But if you like I'm ok iterating and trying to figure out a solution after the fact because I think people will be greatly aided by the Radarr and Sonarr integration.
Please do, I also noticed some oddness with the normalized names making it to Plex. I see some do, but most don't, which I'm trying to figure out with no luck. |
|
After further googling, this appears to be a known Plex behavior. A forum thread The forum discussion hints that Plex can be a pain to maintain specific metadata at the database level. It seems the keyword normalization is working correctly from the API perspective, but Plex's internal |
Agreed along with the acronym standardization, LGTM. I'll merge. |




Summary
This PR adds several major enhancements to Labelarr while maintaining full backward compatibility:
Key Features
🚀 Radarr/Sonarr Integration
💾 Persistent Storage
📝 Keyword Normalization
🔍 Verbose Logging
🔄 Force Update Mode
🧹 Smart Duplicate Cleaning
Changes Made
New Modules
internal/radarr/- Complete Radarr API v3 clientinternal/sonarr/- Complete Sonarr API v3 clientinternal/storage/- Persistent storage implementationinternal/utils/normalize.go- Keyword normalization utilityModified Files
internal/media/processor.gowith multi-source TMDb ID detectioninternal/tmdb/client.goto normalize keywordsinternal/config/config.gowith new configuration optionsmain.gowith connection testing and client initializationDocumentation
Testing
Configuration
All new features are optional and disabled by default:
Backward Compatibility
Examples
Verbose Logging Output
Persistent Storage
{ "ratingKey": "12345", "title": "The Matrix", "tmdbId": "603", "lastProcessed": "2025-07-05T10:30:45Z", "keywordsSynced": true, "updateField": "label" }Real-World Results
The keyword normalization feature ensures consistent, professional-looking keywords in your Plex library. For example, "50 First Dates" shows properly formatted genres including "Romantic Comedy" (normalized from "romcom"), "Short-term Memory Loss", and "True Love" - all with correct capitalization and formatting.
Related Issues
This PR addresses several community requests for: