Welle 1 · Ausführer: Zertifikats-Zwischenspeicher hieß wie seine Funktion; PVE/PBS mit Rechnernamen

Der erste echte Bericht trug statt der Zertifikate „'function' object is not subscriptable“: def _zertifikate()
überschrieb das gleichnamige Dict. Jetzt _zertifikate_stand, mit Test über genau diesen Weg (auf dem Host
nachgeprüft: 12 Zertifikate). Proxmox-Host und PBS heißen in der Liste nach ihrem Rechnernamen statt „localhost“.
OFFENE-FAEDEN: Welle 1 erledigt, AdGuard-Zugang offen beim User.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Hitonabi
2026-09-25 16:59:00 +02:00
co-authored by Claude Opus 5.5
parent d063f745f6
commit 371dcc7ce3
4 changed files with 34 additions and 6 deletions
+7 -4
View File
@@ -924,7 +924,9 @@ PBS_ZERTIFIKAT = "/etc/proxmox-backup/proxy.pem"
ZERTIFIKATE_ALLE_S = 1800
_MONATE = {m: i for i, m in enumerate(("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"),
start=1)}
_zertifikate: dict = {"zeit": 0.0, "liste": None}
# Zuletzt gelesene Zertifikate. Hieß bis 25.09.2026 abends wie die Funktion _zertifikate() — die überschrieb den
# Namen, und der erste echte Bericht meldete „'function' object is not subscriptable“ statt Zertifikaten.
_zertifikate_stand: dict = {"zeit": 0.0, "liste": None}
def openssl_zeit(text: str) -> int | None:
@@ -1031,9 +1033,10 @@ def _zertifikate_lesen(gaeste: list[dict]) -> list[dict]:
def _zertifikate(gaeste: list[dict]) -> list[dict] | None:
"""Die Zertifikate, höchstens alle ZERTIFIKATE_ALLE_S neu gelesen (sie ändern sich höchstens täglich)."""
if _zertifikate["liste"] is None or time.time() - _zertifikate["zeit"] >= ZERTIFIKATE_ALLE_S:
_zertifikate.update(zeit=time.time(), liste=_zertifikate_lesen(gaeste))
return _zertifikate["liste"]
stand = _zertifikate_stand
if stand["liste"] is None or time.time() - stand["zeit"] >= ZERTIFIKATE_ALLE_S:
stand.update(zeit=time.time(), liste=_zertifikate_lesen(gaeste))
return stand["liste"]
def bericht() -> dict: