feat: KoePi bestellmagazin-Filter, KW ohne Klammern erkannt, kommende Prospekte nach Woche unterteilt, Bier-Icon-Prospekte nach oben sortiert
This commit is contained in:
@@ -166,11 +166,15 @@ async function fetchLeafletDetail(leafletId, cache) {
|
||||
}
|
||||
}
|
||||
|
||||
// Extrahiert "(KW29 Do-Sa)"-artige Klammerzusätze aus dem Leaflet-Namen, falls
|
||||
// vorhanden (nicht jede Filiale/jeder Prospekt hat sowas)
|
||||
// Extrahiert eine "(KW29 Do-Sa)"-artige Angabe aus dem Leaflet-Namen. Manche
|
||||
// Ketten (z.B. ALDI) schreiben die KW-Angabe ohne umschließende Klammern
|
||||
// ("... KW32 ...") — die wird dann selbst eingeklammert, damit die Anzeige
|
||||
// überall einheitlich aussieht.
|
||||
function extractWeekInfo(name) {
|
||||
const m = (name || '').match(/\([^)]*KW\s*\d+[^)]*\)/i);
|
||||
return m ? m[0] : '';
|
||||
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]})` : '';
|
||||
}
|
||||
|
||||
// Löst die feste Liste gewünschter Filialen (LOCAL_STORE_SEED_LEAFLETS) einmalig
|
||||
@@ -561,7 +565,7 @@ async function scrapeProspekte() {
|
||||
|
||||
// "Sondermagazin"-Prospekte ausblenden (keine normalen Wochenangebote)
|
||||
// Unerwünschte Prospekt-Typen ausblenden (Sondermagazine, Reise-Prospekte etc.)
|
||||
const EXCLUDED_TITLE_KEYWORDS = ['sondermagazin', 'reisen'];
|
||||
const EXCLUDED_TITLE_KEYWORDS = ['sondermagazin', 'reisen', 'bestellmagazin'];
|
||||
const withoutSondermagazin = all.filter(b => {
|
||||
const t = (b.title || '').toLowerCase();
|
||||
return !EXCLUDED_TITLE_KEYWORDS.some(kw => t.includes(kw));
|
||||
|
||||
Reference in New Issue
Block a user