Renaming: Scene-Gruppen mit Unterstrich erkennen (-idTV_iNT) — kein Verschlimmbessern zum Paketnamen
User-Report (aus Desktop-Rename-Log): castle.s08e02.german.dl.720p.web.h264-idtv_int.mkv im sauberen Episoden-Ordner "Castle.S08E02.GERMAN.DL.720p.WEB.H264-idTV_iNT" (Paket "scn2-cstl7") wurde zu "scn2-cstl7.S08E02.mkv" VERSCHLIMMBESSERT (guter Quellname -> obfuskierter Paketname). Ursache (vorbestehend, nicht durch v1.7.178): hasSceneGroupSuffix erkannte die Scene-Gruppe "-idTV_iNT" nicht (SCENE_GROUP_SUFFIX_RE + Fallback verbieten Unterstriche). Der saubere Episoden-Ordner wurde dadurch als Nicht-Scene-Ordner verworfen, und die Namensherleitung fiel auf den obfuskierten Paket-Ordner "scn2-cstl7" zurueck -> "scn2-cstl7.S08E02". Fix: hasSceneGroupSuffix nutzt jetzt zusaetzlich extractFlexibleSceneGroupSuffix (existierte bereits, war aber nicht verdrahtet), das Unterstrich-Gruppen korrekt erkennt (splittet auf "_", validiert jeden Teil). Der saubere Ordner wird akzeptiert -> idealer Name "Castle.S08E02.GERMAN.DL.720p.WEB.H264-idTV_iNT". Mein v1.7.178-Folder-Token-Guard schuetzt generische Paketordner (Mega-Direct) weiterhin. Verifiziert: tsc 6, 679 Tests gruen (+1 Charakterisierung fuer den idTV_iNT-Fall), Build gruen. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
f2e9de8da0
commit
5349554b01
@ -1029,7 +1029,14 @@ function hasSceneGroupSuffix(fileName: string): boolean {
|
|||||||
|
|
||||||
const fallbackMatch = text.match(SCENE_GROUP_SUFFIX_FALLBACK_RE);
|
const fallbackMatch = text.match(SCENE_GROUP_SUFFIX_FALLBACK_RE);
|
||||||
const suffix = String(fallbackMatch?.[1] || "").trim();
|
const suffix = String(fallbackMatch?.[1] || "").trim();
|
||||||
return isValidSceneGroupSuffix(suffix);
|
if (isValidSceneGroupSuffix(suffix)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
// Auch Scene-Gruppen MIT Unterstrich erkennen (z.B. "-idTV_iNT", "-NZ_iNT", "-DUBBED_iNT").
|
||||||
|
// Sonst wird ein sauber benannter Episoden-Ordner wie "Castle.S08E02.GERMAN.DL.720p.WEB.H264-
|
||||||
|
// idTV_iNT" faelschlich NICHT als Scene-Ordner erkannt → die Namensherleitung faellt auf den
|
||||||
|
// obfuskierten Paket-Ordner ("scn2-cstl7") zurueck und verschlimmbessert den Namen.
|
||||||
|
return extractFlexibleSceneGroupSuffix(text) !== null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Older scene releases used "1x01" instead of "S01E01". The episode group
|
/** Older scene releases used "1x01" instead of "S01E01". The episode group
|
||||||
|
|||||||
@ -112,6 +112,22 @@ describe("decideAutoRenameBaseName (shared naming decision — used by auto-rena
|
|||||||
);
|
);
|
||||||
expect(decision.kind).toBe("skip");
|
expect(decision.kind).toBe("skip");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("uses the CLEAN per-episode folder (scene group WITH underscore, e.g. -idTV_iNT) — not the obfuscated package folder", () => {
|
||||||
|
// User-Report v1.7.178: castle.s08e02....mkv im sauberen Ordner "Castle.S08E02...H264-idTV_iNT"
|
||||||
|
// (Paket: "scn2-cstl7") wurde zu "scn2-cstl7.S08E02" verschlimmbessert, weil hasSceneGroupSuffix
|
||||||
|
// die Unterstrich-Gruppe "-idTV_iNT" nicht erkannte und auf den Paketordner zurueckfiel.
|
||||||
|
const epFolder = "Castle.S08E02.GERMAN.DL.720p.WEB.H264-idTV_iNT";
|
||||||
|
const decision = decideAutoRenameBaseName(
|
||||||
|
[epFolder, "scn2-cstl7"],
|
||||||
|
"castle.s08e02.german.dl.720p.web.h264-idtv_int.mkv",
|
||||||
|
"castle.s08e02.german.dl.720p.web.h264-idtv_int",
|
||||||
|
epFolder,
|
||||||
|
"scn2-cstl7"
|
||||||
|
);
|
||||||
|
expect(decision.kind).toBe("rename");
|
||||||
|
expect(decision.kind === "rename" && decision.baseName).toBe(epFolder);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe("hasMeaningfulSeriesPrefix", () => {
|
describe("hasMeaningfulSeriesPrefix", () => {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user