Arbeitsdatei .tmp-patch.mjs aus dem Baum nehmen und .tmp-* ignorieren
Beim vorigen Commit ist ein Patch-Skript mitgerutscht - git add -A nimmt alles, was nicht ignoriert ist. Die Zwischendateien heissen durchgehend .tmp-*, deshalb steht das Muster jetzt in .gitignore.
This commit is contained in:
@@ -18,3 +18,6 @@ Thumbs.db
|
|||||||
|
|
||||||
# Protokolle
|
# Protokolle
|
||||||
*.log
|
*.log
|
||||||
|
|
||||||
|
# Arbeitsdateien dieser Werkzeugkette (Patch-Skripte, Zwischenstaende)
|
||||||
|
.tmp-*
|
||||||
|
|||||||
@@ -1,49 +0,0 @@
|
|||||||
import { readFileSync, writeFileSync } from "node:fs"
|
|
||||||
const p = "custom_components/audi_dashboard/shell_beleg_parser.py"
|
|
||||||
let s = readFileSync(p, "utf8")
|
|
||||||
const alt = [
|
|
||||||
"def _marke(zeilen):",
|
|
||||||
' """Markenname aus dem Belegkopf ("SHELL STATION" -> "Shell"). None, wenn',
|
|
||||||
' keine bekannte Marke draufsteht - dann bleibt es beim Betreibernamen."""',
|
|
||||||
' kopf = "\n".join(zeilen[:8])',
|
|
||||||
" for marke in _MARKEN:",
|
|
||||||
' if re.search(r"\b" + re.escape(marke) + r"\b", kopf, re.IGNORECASE):',
|
|
||||||
" return marke",
|
|
||||||
" return None",
|
|
||||||
].join("\n")
|
|
||||||
const neu = [
|
|
||||||
"def _betragszeile(zeile):",
|
|
||||||
' """Eine Summenzeile ("GESAMT 78,78 EUR")? Sie darf im Kopf nicht nach',
|
|
||||||
" Marken durchsucht werden.",
|
|
||||||
"",
|
|
||||||
' Grund: "Total" ist beides - eine Kopfmarke und ein Summenwort. Auf einem',
|
|
||||||
" Beleg mit knappem Kopf, der den Betrag schon in den ersten acht Zeilen",
|
|
||||||
' druckt, wuerde daraus faelschlich die Marke "Total" (am 04.09.2026 an',
|
|
||||||
" einem echten Beleg mit vorangestellter Summenzeile nachgestellt und",
|
|
||||||
" reproduziert). Verlangt werden beide Kennzeichen zugleich - Summenwort",
|
|
||||||
" UND echte Geldangabe -, damit eine Anschrift mit Hausnummer oder eine",
|
|
||||||
' Postleitzahl ("SHELL TANKSTELLE, 6450 SÖLDEN") nicht mitfaellt."""',
|
|
||||||
' kompakt = re.sub(r"\s+", "", zeile).upper()',
|
|
||||||
" if not any(wort in kompakt for wort in _GESAMT_WOERTER):",
|
|
||||||
" return False",
|
|
||||||
" return bool(re.search(_GELD, zeile))",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"def _marke(zeilen):",
|
|
||||||
' """Markenname aus dem Belegkopf ("SHELL STATION" -> "Shell"). None, wenn',
|
|
||||||
" keine bekannte Marke draufsteht - dann bleibt es beim Betreibernamen.",
|
|
||||||
"",
|
|
||||||
" Acht Zeilen, weil die Marke in den bekannten Belegen in Zeile 0 steht und",
|
|
||||||
" im oesterreichischen Format in Zeile 1 (am 04.09.2026 ueber alle zwoelf",
|
|
||||||
' abgelegten Belege gemessen) - das Fenster ist der Puffer, nicht die",',
|
|
||||||
' Erwartung."""',
|
|
||||||
" kopf = [z for z in zeilen[:8] if not _betragszeile(z)]",
|
|
||||||
' text = "\n".join(kopf)',
|
|
||||||
" for marke in _MARKEN:",
|
|
||||||
' if re.search(r"\b" + re.escape(marke) + r"\b", text, re.IGNORECASE):',
|
|
||||||
" return marke",
|
|
||||||
" return None",
|
|
||||||
].join("\n")
|
|
||||||
if (s.split(alt).length - 1 !== 1) throw new Error("Anker nicht eindeutig")
|
|
||||||
writeFileSync(p, s.replace(alt, neu))
|
|
||||||
console.log("ok")
|
|
||||||
Reference in New Issue
Block a user