fix(v5): discmerkmale auf Plattform-Pfade — dritte Lehre desselben Musters
Ampel / ampel (push) Successful in 1m17s

titelAusBdmt lief auf der Laufzeit-Wurzel (G:\ im Betrieb, tmp-Ordner im
Linux-CI-Test) mit win32-join — der BDMV-Pfad wurde auf POSIX zu EINEM
Namen mit Backslashes und der Test brach. Dieselbe Regel wie
struktur/pipeline: Laufzeit-Wurzeln nehmen plattform-path.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Hitonabi
2026-08-30 18:41:45 +02:00
co-authored by Claude Fable 5
parent 5f386e5406
commit a9fa8fa2d8
@@ -10,7 +10,10 @@
// und sein Ergebnis las niemand (der 30.08.-Fund „das erkennen dauert // und sein Ergebnis las niemand (der 30.08.-Fund „das erkennen dauert
// sehr sehr lange"). // sehr sehr lange").
import { closeSync, existsSync, openSync, readdirSync, readFileSync, readSync } from 'node:fs' import { closeSync, existsSync, openSync, readdirSync, readFileSync, readSync } from 'node:fs'
import { win32 as pfad } from 'node:path' // Plattform-Pfade: titelAusBdmt läuft auf einer LAUFZEIT-Wurzel (G:\ im
// Betrieb, ein tmp-Ordner im Linux-CI-Test) — dieselbe Regel wie in
// struktur.ts, am 30.08.2026 zum dritten Mal gelernt.
import { join } from 'node:path'
/** 'PULP_FICTION_DE' → 'Pulp Fiction De' (pur). */ /** 'PULP_FICTION_DE' → 'Pulp Fiction De' (pur). */
export function normalizeDiscLabel(label: string): string { export function normalizeDiscLabel(label: string): string {
@@ -105,7 +108,7 @@ export function udfVolumeLabel(geraetepfad: string): string {
/** Der Studio-Titel aus BDMV/META/DL/bdmt_*.xml — bdmt_eng bevorzugt, /** Der Studio-Titel aus BDMV/META/DL/bdmt_*.xml — bdmt_eng bevorzugt,
* Regex statt XML-Parser (Namespaces variieren je Authoring-Werkzeug). */ * Regex statt XML-Parser (Namespaces variieren je Authoring-Werkzeug). */
export function titelAusBdmt(wurzel: string): string { export function titelAusBdmt(wurzel: string): string {
const metaOrdner = pfad.join(wurzel, 'BDMV', 'META', 'DL') const metaOrdner = join(wurzel, 'BDMV', 'META', 'DL')
if (!existsSync(metaOrdner)) return '' if (!existsSync(metaOrdner)) return ''
let kandidaten: string[] let kandidaten: string[]
try { try {
@@ -119,7 +122,7 @@ export function titelAusBdmt(wurzel: string): string {
if (bdmt === undefined) return '' if (bdmt === undefined) return ''
let inhalt: string let inhalt: string
try { try {
inhalt = readFileSync(pfad.join(metaOrdner, bdmt)).subarray(0, 65536).toString('utf8') inhalt = readFileSync(join(metaOrdner, bdmt)).subarray(0, 65536).toString('utf8')
} catch { } catch {
return '' return ''
} }