fix: strip dates/UUIDs in filenames even when adjacent to underscores
Word-boundary (\b) anchors don't fire next to underscores, so already-processed names like 2026-07-24_2026-07-24-<uuid>_30x40 kept their doubled date prefix. Drop \b; match dates/hex globally. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XNQ8ghPfzAfsyVYd6HgFb6
This commit is contained in:
+3
-2
@@ -97,9 +97,10 @@ const GENERIC = new Set(['', 'foto', 'photo', 'bild', 'image', 'img', 'telegram'
|
||||
* Datumspräfixe, UUIDs und lange Hex-Ketten entfernen, damit keine Doppelungen entstehen. */
|
||||
function cleanMotif(name: string | null): string {
|
||||
let s = (name || '').replace(/\.[^.]+$/, '');
|
||||
s = s.replace(/\b\d{4}-\d{2}-\d{2}\b/g, ' '); // Datum
|
||||
// Ohne \b arbeiten — Wortgrenzen greifen an Unterstrichen nicht (…_2026-07-24…).
|
||||
s = s.replace(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/gi, ' '); // UUID
|
||||
s = s.replace(/\b[0-9a-f]{16,}\b/gi, ' '); // lange Hex-Ketten
|
||||
s = s.replace(/\d{4}-\d{2}-\d{2}/g, ' '); // Datum (auch mehrfach)
|
||||
s = s.replace(/[0-9a-f]{16,}/gi, ' '); // lange Hex-Ketten
|
||||
return slugify(s);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user