Feat #16: Unbekannte Jellyfin-Titel zur Auswahl stellen und nachladen #18

Merged
florian.wilde merged 1 commits from feat/16-titel-nachladen into main 2026-09-02 11:27:26 +00:00
Owner

Aus dem Bericht wird eine Auswahlliste: anhaken, was übernommen werden soll, und nur das aus TMDB nachladen.

Umgesetzt ist der spätere Kommentar, nicht die ursprüngliche Beschreibung — ein pauschales Häkchen „alles nachladen" wäre bei den 1322 Einträgen aus deinem Screenshot keine Wahl gewesen.

Was der Bericht jetzt kann

vorher jetzt
Umfang nach 50 abgeschnitten bis 1000, Rest wird gezählt statt verschwiegen
Dubletten jede Datei eine Zeile zusammengefasst je TMDB-Kennung, mit Zahl der Dateien
Typ — Serie oder Film, aus dem Item abgeleitet
Ohne Kennung nur Text sichtbar, aber nicht auswählbar

Nachladen

Nur auf Klick, höchstens hundert je Lauf (jeder Titel ist ein TMDB-Abruf, bei Serien einer je Staffel). Ein einzelner Fehlschlag beendet den Lauf nicht.

Aus der Liste verschwindet nur, was tatsächlich ankam. Mein erster Entwurf strich auch die Gescheiterten — und ich hatte dieses Verhalten sogar in einem Test festgeschrieben. Beim Durchklicken fiel auf, wie ärgerlich das wäre: TMDB kurz nicht erreichbar, und die Titel sind aus der Liste, ohne importiert zu sein. Code und Test sind korrigiert.

Zwei Häkchen, die man nicht verwechseln darf

Das bestehende heißt jetzt „Bekannte Titel dabei in die Bibliothek aufnehmen" — es nimmt auf, was Flimmer kennt. Die neue Liste holt, was es nicht kennt. Der Unterschied stand vorher nirgends und ist genau der Grund, warum bei dir nichts passierte.

Was der Klickweg gezeigt hat

Gegen einen nachgebildeten Jellyfin im Produktionsbau:

Auswahlliste sichtbar, 3 Einträge aus 4 Dateien
Entdopplung „Die Stille zwischen den Bildern · 2 Dateien"
Typ „Nordlicht · Serie" — im ersten Anlauf stand dort fälschlich „Film"
Ohne Kennung „Urlaubsvideo 2019 · ohne TMDB-Kennung", Häkchen gesperrt
Suche filtert die Liste
Fehlschlag „0 Titel nachgeladen, 2 fehlgeschlagen" — ehrlich gemeldet, kein Abbruch

Der Importschritt selbst ließ sich über die Oberfläche nicht belegen: Der Entwicklungs-Stub (scripts/tmdb-stub.mjs) beantwortet nur Suchanfragen und speist sich aus dem lokalen Katalog — er kann per Definition nichts liefern, was dort fehlt. Der Erfolgsfall ist deshalb über die Domänenschicht getestet: Katalogeintrag entsteht, Bibliothekseintrag mit owned und Quelle Jellyfin, bei Serien mit Episoden.

Geprüft

83 Tests grün (fünf neue), Typecheck sauber. Entwicklungsdatenbank im Ausgangszustand.

Closes #16

Aus dem Bericht wird eine **Auswahlliste**: anhaken, was übernommen werden soll, und nur das aus TMDB nachladen. Umgesetzt ist der spätere Kommentar, nicht die ursprüngliche Beschreibung — ein pauschales Häkchen „alles nachladen" wäre bei den 1322 Einträgen aus deinem Screenshot keine Wahl gewesen. ## Was der Bericht jetzt kann | | vorher | jetzt | |---|---|---| | Umfang | nach **50** abgeschnitten | bis 1000, Rest wird gezählt statt verschwiegen | | Dubletten | jede Datei eine Zeile | zusammengefasst je TMDB-Kennung, mit Zahl der Dateien | | Typ | — | Serie oder Film, aus dem Item abgeleitet | | Ohne Kennung | nur Text | sichtbar, aber nicht auswählbar | ## Nachladen Nur auf Klick, höchstens **hundert je Lauf** (jeder Titel ist ein TMDB-Abruf, bei Serien einer je Staffel). Ein einzelner Fehlschlag beendet den Lauf nicht. **Aus der Liste verschwindet nur, was tatsächlich ankam.** Mein erster Entwurf strich auch die Gescheiterten — und ich hatte dieses Verhalten sogar in einem Test festgeschrieben. Beim Durchklicken fiel auf, wie ärgerlich das wäre: TMDB kurz nicht erreichbar, und die Titel sind aus der Liste, ohne importiert zu sein. Code und Test sind korrigiert. ## Zwei Häkchen, die man nicht verwechseln darf Das bestehende heißt jetzt „**Bekannte** Titel dabei in die Bibliothek aufnehmen" — es nimmt auf, was Flimmer *kennt*. Die neue Liste holt, was es *nicht kennt*. Der Unterschied stand vorher nirgends und ist genau der Grund, warum bei dir nichts passierte. ## Was der Klickweg gezeigt hat Gegen einen nachgebildeten Jellyfin im Produktionsbau: | | | |---|---| | Auswahlliste | sichtbar, 3 Einträge aus 4 Dateien | | Entdopplung | „Die Stille zwischen den Bildern · **2 Dateien**" | | Typ | „Nordlicht · **Serie**" — im ersten Anlauf stand dort fälschlich „Film" | | Ohne Kennung | „Urlaubsvideo 2019 · ohne TMDB-Kennung", Häkchen gesperrt | | Suche | filtert die Liste | | Fehlschlag | „0 Titel nachgeladen, 2 fehlgeschlagen" — ehrlich gemeldet, kein Abbruch | **Der Importschritt selbst ließ sich über die Oberfläche nicht belegen:** Der Entwicklungs-Stub (`scripts/tmdb-stub.mjs`) beantwortet nur Suchanfragen und speist sich aus dem lokalen Katalog — er kann per Definition nichts liefern, was dort fehlt. Der Erfolgsfall ist deshalb über die Domänenschicht getestet: Katalogeintrag entsteht, Bibliothekseintrag mit `owned` und Quelle Jellyfin, bei Serien mit Episoden. ## Geprüft **83 Tests grün** (fünf neue), Typecheck sauber. Entwicklungsdatenbank im Ausgangszustand. Closes #16
florian.wilde added 1 commit 2026-09-02 11:13:01 +00:00
Unbekannte Jellyfin-Titel zur Auswahl stellen und nachladen
CI / pruefen (pull_request) Canceled after 0s
7f890155ae
Der Abgleich ordnete nur gegen Titel zu, die Flimmer schon kannte. Auf einer
frisch aufgesetzten Instanz meldet Jellyfin damit tausend Eintraege und
Flimmer ordnet keinen einzigen zu — der Bericht konnte nur aufzaehlen, was er
nicht einsortieren konnte.

Aus dem Bericht wird eine Auswahlliste: anhaken, was uebernommen werden soll,
und nur das aus TMDB nachladen. Ein pauschales Haekchen waere bei tausend
Eintraegen keine Wahl gewesen — in einer Mediathek liegen Konzertmitschnitte
neben dem, was man wirklich verfolgt.

Der Bericht ist dafuer umgebaut:

- Zusammengefasst je TMDB-Kennung. Jellyfin fuehrt oft mehrere Dateien zum
  selben Film; in der Liste steht er einmal, mit der Zahl der Dateien.
- Die Grenze stand bei 50 und war bei ueber tausend gelesenen Eintraegen ein
  Blick durchs Schluesselloch. Jetzt 1000, und was darueber hinausgeht, wird
  gezaehlt statt stillschweigend abgeschnitten.
- Der Typ kommt aus dem Item statt aus dem Umkehrschluss "keine Episode, also
  Film". Eine Probe zeigte sonst eine Serie als Film.

Nachgeladen wird nur auf Klick, hoechstens hundert je Lauf, und ein einzelner
Fehlschlag beendet den Lauf nicht. Aus der Liste verschwindet nur, was
tatsaechlich ankam: ein Fehlschlag laesst den Eintrag stehen, damit man es
erneut versuchen kann, ohne den ganzen Abgleich zu wiederholen. Mein erster
Entwurf strich auch Gescheiterte — der Test hielt das falsche Verhalten fest
und wurde mitkorrigiert.

Eintraege ohne TMDB-Kennung bleiben sichtbar, aber nicht auswaehlbar: dort
fehlt die Kennung in Jellyfin selbst, da kann Flimmer nichts holen.

Fuenf Tests dazu. Der Importschritt selbst laesst sich lokal nur ueber die
Domaenenschicht pruefen — der Entwicklungs-Stub speist sich aus dem Katalog
und kann per Definition nichts liefern, was dort fehlt. Der Klickweg belegt
Liste, Entdopplung, Suche, Auswahl, die gesperrten Zeilen und die ehrliche
Fehlermeldung.

Refs #16
florian.wilde merged commit f8d5566865 into main 2026-09-02 11:27:26 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: florian.wilde/flimmer#18