Automatischer Push: 8 Datei(en) geändert
- .vault-tools/trading-plattform-pruefung/LIESMICH.md - .vault-tools/trading-plattform-pruefung/angriffe.py - .vault-tools/trading-plattform-pruefung/browserlauf_zugang.py - .vault-tools/trading-plattform-pruefung/handabruf_kerzen.py - .vault-tools/trading-plattform-pruefung/lies_paper_protokoll.py - .vault-tools/trading-plattform-pruefung/pruef_beobachtung_echt.py - .vault-tools/trading-plattform-pruefung/start_probe_backend.py - .vault-tools/trading-plattform-pruefung/start_probe_zugang.py 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
3bb28e4b3c
commit
371a1f5d2a
8 files changed
+890
-3
No files matched your search
@@ -0,0 +1,41 @@
|
||||
"""Liest ein Paper- oder Probe-Protokoll mit eigenem Code und fasst zusammen, was darin steht.
|
||||
|
||||
Koordinator-Werkzeug zu Teil 10, nicht fuers Repo. Es tut etwas und beurteilt wenig: Die Zahlen liest
|
||||
der Koordinator selbst. Binaer gelesen, nur an b"\\n" getrennt.
|
||||
|
||||
Aufruf: python lies_paper_protokoll.py <protokoll.jsonl>
|
||||
"""
|
||||
|
||||
import json
|
||||
import sys
|
||||
from collections import Counter
|
||||
from pathlib import Path
|
||||
|
||||
zeilen = [json.loads(z) for z in Path(sys.argv[1]).read_bytes().split(b"\n") if z.strip()]
|
||||
arten = Counter(z.get("art") for z in zeilen)
|
||||
print("zeilen:", len(zeilen), dict(arten))
|
||||
|
||||
kopf = next(z for z in zeilen if z.get("art") == "kopf")
|
||||
print("kopf:", {k: kopf.get(k) for k in ("modus", "agent", "instrument", "fenster", "basis_menge", "feed", "glatt_vor_schluss_min")})
|
||||
|
||||
takte = [z for z in zeilen if z.get("art") == "takt"]
|
||||
print("takte:", len(takte), "phasen:", dict(Counter(t.get("phase") for t in takte)))
|
||||
print("killswitch in takten:", dict(Counter(t.get("killswitch") for t in takte)))
|
||||
print("frische kerze:", dict(Counter(t.get("frische_kerze") for t in takte)))
|
||||
erste_entscheidung = next((t for t in takte if t.get("aktion") is not None), None)
|
||||
if erste_entscheidung:
|
||||
print("erste entscheidung: schritt", erste_entscheidung["schritt"], "kerzen", erste_entscheidung["kerzen"], "letzte_kerze", erste_entscheidung["letzte_kerze"], "aktion", erste_entscheidung["aktion"], "ziel", erste_entscheidung["zielposition"])
|
||||
print("aktionen:", dict(Counter(t.get("aktion") for t in takte)))
|
||||
print("positionen:", dict(Counter(t.get("position") for t in takte)))
|
||||
schliesst = [t for t in takte if t.get("phase") == "schliesst"]
|
||||
if schliesst:
|
||||
print("schlussphase: von", schliesst[0]["letzte_kerze"], "bis", schliesst[-1]["letzte_kerze"], "positionen", [t["position"] for t in schliesst])
|
||||
|
||||
for order in (z for z in zeilen if z.get("art") == "order"):
|
||||
print("order:", {k: order.get(k) for k in ("seite", "menge", "gefuellt", "status", "position_danach")})
|
||||
for ereignis in (z for z in zeilen if z.get("art") == "ereignis"):
|
||||
print("ereignis:", ereignis.get("was"), "|", str(ereignis.get("text"))[:140])
|
||||
ende = [z for z in zeilen if z.get("art") == "ende"]
|
||||
print("ende:", ende)
|
||||
hinweise = Counter(t.get("hinweis") for t in takte if t.get("hinweis"))
|
||||
print("hinweise in takten:", dict(hinweise))
|
||||
Reference in new issue
Block a user