Automatischer Push: 14 Datei(en) geändert
- .vault-tools/trading-plattform-pruefung/LIESMICH.md - .vault-tools/trading-plattform-pruefung/bremse_echtlauf.py - .vault-tools/trading-plattform-pruefung/browser_w.py - .vault-tools/trading-plattform-pruefung/generalprobe_echtlauf.py - .vault-tools/trading-plattform-pruefung/ha_aktiv_setzen.py - .vault-tools/trading-plattform-pruefung/handelstag_auswertung.py - .vault-tools/trading-plattform-pruefung/hausmelder_echtlauf.py - .vault-tools/trading-plattform-pruefung/killswitch_simulation.py - .vault-tools/trading-plattform-pruefung/killswitch_simulation_mutanten.py - .vault-tools/trading-plattform-pruefung/latenz_auswertung.py - .vault-tools/trading-plattform-pruefung/s1_alpaca_lesen.py - .vault-tools/trading-plattform-pruefung/s5_echtlauf.py - … und 2 weitere Erzeugt vom PostToolUse-Hook .vault-tools/auto-push/auto_push.py. Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
1 parent
246af19683
commit
593acdd122
14 files changed
+2090
-5
No files matched your search
@@ -0,0 +1,44 @@
|
||||
"""Setzt [homeassistant] aktiv in config/secrets.toml auf true oder false. Gibt nie einen Wert der Datei aus.
|
||||
|
||||
Aufruf: python ha_aktiv_setzen.py <secrets.toml> <true|false>
|
||||
Geaendert wird genau eine Zeile im Abschnitt [homeassistant]; alles andere bleibt Byte fuer Byte stehen.
|
||||
"""
|
||||
|
||||
import sys
|
||||
import tomllib
|
||||
from pathlib import Path
|
||||
|
||||
pfad = Path(sys.argv[1])
|
||||
ziel = sys.argv[2]
|
||||
assert ziel in ("true", "false")
|
||||
|
||||
roh = pfad.read_bytes()
|
||||
text = roh.decode("utf-8")
|
||||
zeilenende = "\r\n" if "\r\n" in text else "\n"
|
||||
zeilen = text.split(zeilenende)
|
||||
|
||||
im_abschnitt = False
|
||||
treffer = []
|
||||
for nummer, zeile in enumerate(zeilen):
|
||||
kern = zeile.strip()
|
||||
if kern.startswith("["):
|
||||
im_abschnitt = kern == "[homeassistant]"
|
||||
continue
|
||||
if im_abschnitt and kern.split("=")[0].strip() == "aktiv":
|
||||
treffer.append(nummer)
|
||||
|
||||
if len(treffer) != 1:
|
||||
print(f"ABBRUCH: {len(treffer)} Zeilen 'aktiv' im Abschnitt [homeassistant] gefunden, erwartet genau eine")
|
||||
sys.exit(2)
|
||||
|
||||
vorher = tomllib.loads(text)["homeassistant"]["aktiv"]
|
||||
zeilen[treffer[0]] = f"aktiv = {ziel}"
|
||||
neu = zeilenende.join(zeilen)
|
||||
nachher = tomllib.loads(neu)
|
||||
# Die Probe vor dem Schreiben: Die Datei bleibt gueltiges TOML, und nur dieser eine Wert aendert sich.
|
||||
alt = tomllib.loads(text)
|
||||
alt["homeassistant"]["aktiv"] = nachher["homeassistant"]["aktiv"]
|
||||
assert alt == nachher, "mehr als ein Wert haette sich geaendert"
|
||||
pfad.write_bytes(neu.encode("utf-8"))
|
||||
print(f"[homeassistant] aktiv: {vorher} -> {nachher['homeassistant']['aktiv']}; Abschnitte {sorted(nachher)}; "
|
||||
f"Laenge der Adresse {len(nachher['homeassistant'].get('webhook_url', ''))}")
|
||||
Reference in new issue
Block a user