feat(servarr): add mechanical filename cleanup for Radarr import folder #2

Merged
csaeum merged 1 commit from feature/videos-import-cleanup-script into main 2026-07-15 17:21:40 +00:00
Owner

Zusammenfassung

  • Neues Skript scripts/videos-import-cleanup.sh: entfernt rein mechanisch bekannte Störmuster aus Dateinamen in videos-import/filme-radarr (Streaming-Site-Branding, "HD Stream", "online anschauen und downloaden", Junk-Präfixe, doppelte Endungen, Unterstriche/Punkte als Trenner).
  • Nach der Bereinigung wird über Radarrs eigenen /api/v3/parse-Endpoint gegengeprüft, ob Titel und Jahr jetzt extrahierbar sind – nur dann wird umbenannt. Keine Rate-Logik, keine TMDb-Textsuche ohne Jahr.
  • Unterstützt einen DRY_RUN-Modus (4. Parameter) zur Vorschau ohne echte Änderungen.

Verifiziert

  • Dry-Run gegen den echten Import-Ordner auf LXC 100: 58 von 107 betroffenen Dateien umbennenbar, 0 Konflikte.
  • Bug during review gefunden und gefixt: Radarrs parse-API liefert bei fehlendem Jahr year: 0 statt null – jqs // empty lässt 0 durch, das führte zu einem False Positive. Fix: explizite Prüfung auf "0".
  • Echter Lauf gegen den Produktions-Ordner: 58 Dateien erfolgreich umbenannt, 49 korrekt unverändert gelassen (kein Titel/Jahr auch nach Bereinigung).
  • Als stündlicher Ofelia-Job (videos-cleanup-filme, Minute 58) im docker-ofelia-cronjobs-Stack eingeplant, läuft 2 Minuten vor radarr-auto-import, damit auch künftig neu hinzukommende Dateien automatisch bereinigt werden.

🤖 Generated with Claude Code

## Zusammenfassung - Neues Skript `scripts/videos-import-cleanup.sh`: entfernt rein mechanisch bekannte Störmuster aus Dateinamen in `videos-import/filme-radarr` (Streaming-Site-Branding, "HD Stream", "online anschauen und downloaden", Junk-Präfixe, doppelte Endungen, Unterstriche/Punkte als Trenner). - Nach der Bereinigung wird über Radarrs eigenen `/api/v3/parse`-Endpoint gegengeprüft, ob Titel **und** Jahr jetzt extrahierbar sind – nur dann wird umbenannt. Keine Rate-Logik, keine TMDb-Textsuche ohne Jahr. - Unterstützt einen `DRY_RUN`-Modus (4. Parameter) zur Vorschau ohne echte Änderungen. ## Verifiziert - Dry-Run gegen den echten Import-Ordner auf LXC 100: 58 von 107 betroffenen Dateien umbennenbar, 0 Konflikte. - Bug during review gefunden und gefixt: Radarrs `parse`-API liefert bei fehlendem Jahr `year: 0` statt `null` – `jq`s `// empty` lässt `0` durch, das führte zu einem False Positive. Fix: explizite Prüfung auf `"0"`. - Echter Lauf gegen den Produktions-Ordner: 58 Dateien erfolgreich umbenannt, 49 korrekt unverändert gelassen (kein Titel/Jahr auch nach Bereinigung). - Als stündlicher Ofelia-Job (`videos-cleanup-filme`, Minute 58) im `docker-ofelia-cronjobs`-Stack eingeplant, läuft 2 Minuten vor `radarr-auto-import`, damit auch künftig neu hinzukommende Dateien automatisch bereinigt werden. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Many files in videos-import/filme-radarr have messy names from illegal
streaming sites (site branding, "HD Stream", "online anschauen und
downloaden", junk prefixes, duplicate extensions, underscores/dots as
separators) that Radarr's parser can't extract title/year from.

The script only strips known junk patterns and normalizes separators,
then verifies via Radarr's own /api/v3/parse endpoint that both title
and year are now extractable before renaming - never guesses a movie
identity, so files that stay unparseable after cleanup are left
untouched for manual handling.

Verified with a dry-run (58 of 107 renamable, 0 conflicts) and a real
run against the live import folder on LXC 100 (58 files renamed).
Deployed as an hourly Ofelia job (videos-cleanup-filme, minute 58,
docker-ofelia-cronjobs stack) running 2 minutes before
radarr-auto-import so new drops get cleaned automatically too.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
csaeum merged commit cc07cd61c1 into main 2026-07-15 17:21:40 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Docker-Stacks/Servarr!2
No description provided.