fix: KoePi KW-Erkennung praeziser (kein Datensatz-Text mehr), (weekly) aus ALDI-Titel entfernt
This commit is contained in:
@@ -171,10 +171,23 @@ async function fetchLeafletDetail(leafletId, cache) {
|
||||
// ("... KW32 ...") — die wird dann selbst eingeklammert, damit die Anzeige
|
||||
// überall einheitlich aussieht.
|
||||
function extractWeekInfo(name) {
|
||||
const bracket = (name || '').match(/\([^)]*KW\s*\d+[^)]*\)/i);
|
||||
if (bracket) return bracket[0];
|
||||
const bare = (name || '').match(/KW\s*\d+(?:\s*[A-Za-zÄÖÜäöüß-]+)?/i);
|
||||
return bare ? `(${bare[0]})` : '';
|
||||
// Fängt nur "KW29" bzw. "KW 29" plus optional einen kurzen Wochentag-Bereich
|
||||
// wie "Do-Sa" direkt danach ein — ignoriert bewusst alles andere drumherum
|
||||
// (z.B. technischen Datensatz-Text wie "HHZ Dataset 2"), egal ob das Ganze
|
||||
// in Klammern steht oder nicht. Klammert das Ergebnis immer selbst neu ein,
|
||||
// damit die Anzeige überall einheitlich aussieht.
|
||||
const m = (name || '').match(/KW\s*\d+(?:\s*[A-Za-zÄÖÜäöüß]{2,3}-[A-Za-zÄÖÜäöüß]{2,3})?/i);
|
||||
return m ? `(${m[0].replace(/\s+/g, ' ').trim()})` : '';
|
||||
}
|
||||
|
||||
// Entfernt bekannten Stör-/Metatext aus dem angezeigten Prospekt-Titel (z.B.
|
||||
// "(weekly)" bei ALDI). Liste bei Bedarf einfach erweitern, falls andere
|
||||
// Ketten ähnlichen Text im name-Feld mitliefern.
|
||||
const TITLE_NOISE_PATTERNS = [/\(weekly\)/gi];
|
||||
function cleanTitle(name) {
|
||||
let t = name || '';
|
||||
for (const p of TITLE_NOISE_PATTERNS) t = t.replace(p, '');
|
||||
return t.replace(/\s{2,}/g, ' ').trim();
|
||||
}
|
||||
|
||||
// Löst die feste Liste gewünschter Filialen (LOCAL_STORE_SEED_LEAFLETS) einmalig
|
||||
@@ -536,7 +549,7 @@ async function scrapeProspekte() {
|
||||
all.push({
|
||||
id: f.id,
|
||||
publisher: f.advertiser?.name || '',
|
||||
title: detail.name || f.advertiser?.name || '',
|
||||
title: cleanTitle(detail.name) || f.advertiser?.name || '',
|
||||
weekInfo,
|
||||
street: store.address || '',
|
||||
zip: MG_ZIP,
|
||||
|
||||
Reference in New Issue
Block a user