fix(v5): Serien über mehrere Discs — nur die eigenen Folgen benennen, nie überschreiben; HandBrake schreibt auf Zwischennamen
WAS: - episodenUmbenennen bekommt die Dateien DIESER Disc (nurDiese) statt den ganzen Season-Ordner zu zählen. Vorher hieß es bei Disc 2 „über- sprungen: 4 Dateien, 2 Zuordnungen", sobald Disc 1 dort schon S01E01/ S01E02 abgelegt hatte — Serien-Merker und „ab Folge" liefen ins Leere. - freierName: eine vorhandene Datei gleichen Namens im Ziel wird nie ersetzt („title_t00 (2).mkv") — außer beim Wiederholen, wo die alte Fassung ausdrücklich weicht (auftrag.ersetzt). - komprimieren() lässt HandBrake auf „<name>.teil.mkv" schreiben und benennt erst die fertige Datei um; nach Abbruch oder Fehler werden die Reste (auch eine Datei daneben) entfernt. Vorher blieb eine halbe Datei unter dem endgültigen Namen liegen — ohne Arbeitsordner direkt in der Ablage, wo Jellyfin sie als kaputten Film zeigte. WARUM: Durchsicht 12.09.2026, Funde F3 und F9 — mit Tests (Season-Ordner mit Bestand, Kollision, Zwischenname, Reste). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
8c4456d005
commit
904e4b2ef6
@@ -172,3 +172,28 @@ describe('Encoder- und Preset-Listen', () => {
|
||||
expect(parsePresetListe(liste)).toEqual(['Very Fast 2160p60 4K AV1', 'H.265 VCN 2160p 4K'])
|
||||
})
|
||||
})
|
||||
|
||||
// 5.7.0 (Durchsicht F3): Nur die Dateien DIESER Disc werden benannt — der
|
||||
// Season-Ordner darf voll sein.
|
||||
describe('episodenUmbenennen mit nurDiese (5.7.0)', () => {
|
||||
it('Bestand im Ordner stört nicht', () => {
|
||||
const umbenannt: Array<[string, string]> = []
|
||||
const meldungen = episodenUmbenennen(
|
||||
'S',
|
||||
'Akte X',
|
||||
1,
|
||||
[3, 4],
|
||||
{
|
||||
listen: () => ['Akte X S01E01.mkv', 'Akte X S01E02.mkv', 'title_t00.mkv', 'title_t01.mkv'],
|
||||
existiert: () => false,
|
||||
umbenennen: (von, nach) => umbenannt.push([von, nach]),
|
||||
},
|
||||
['title_t00.mkv', 'title_t01.mkv'],
|
||||
)
|
||||
expect(umbenannt).toEqual([
|
||||
[join('S', 'title_t00.mkv'), join('S', 'Akte X S01E03.mkv')],
|
||||
[join('S', 'title_t01.mkv'), join('S', 'Akte X S01E04.mkv')],
|
||||
])
|
||||
expect(meldungen).toHaveLength(2)
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user