Files
craftvia/seed/isms-vorlagenpaket-v2/_fix.py
T
msolarczekandClaude Opus 5 c8e6f30a27
CI / build-and-check (push) Canceled after 0s
CI / audit (push) Canceled after 0s
CI / sbom (push) Canceled after 0s
Basis: Certvia dev@a48c5fb als Fundament für Craftvia
Unveränderter Stand von certvia/dev (a48c5fb) plus Craftvia-Spezifikation
und Brandbook unter docs/craftvia/. ISMS-Module werden im Folgecommit entfernt.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 11:05:39 +02:00

22 lines
750 B
Python

# -*- coding: utf-8 -*-
import json, re, os
BASE=os.path.dirname(__file__)
mp=os.path.join(BASE,"mapping.json")
d=json.load(open(mp,encoding="utf-8"))
def clean(s):
# entferne Handlebars-Conditional-Wrapper, behalte Innentext
s=re.sub(r"\{\{#if \w+\}\}","",s)
s=re.sub(r"\{\{/if\}\}","",s)
s=re.sub(r"\s+"," ",s).strip()
s=s.replace(" .",".").replace(" ,",",")
return s
for a in d["anforderungen"]:
a["requirement"]=clean(a["requirement"])
a["implementation"]=clean(a["implementation"])
if a["policy"]=="L00":
a["impl_anchor"]=a["req_anchor"] # Leitlinie: kombiniert
json.dump(d,open(mp,"w",encoding="utf-8"),ensure_ascii=False,indent=1)
print("mapping bereinigt:",len(d["anforderungen"]),"Eintraege")