Files
boc/projects/landvex/arkiv/byggscript/bygg_manifest.py
T

19 lines
1.2 KiB
Python
Raw Normal View History

import json, hashlib
from pathlib import Path
ROT = Path("/mnt/user-data/outputs/landvex-produktionspaket-v1")
ROLL = {"00-styrning":"styrning","10-data":"data (enda sanningskälla)","20-automation":"automation","30-produkt":"produkt","40-strategi":"strategi & rapporter"}
filer = []
for p in sorted(ROT.rglob("*")):
if p.is_file() and p.name != "MANIFEST.json":
rel = p.relative_to(ROT).as_posix()
filer.append({"sokvag": rel, "roll": ROLL[rel.split("/")[0]],
"bytes": p.stat().st_size,
"sha256": hashlib.sha256(p.read_bytes()).hexdigest()})
man = {"paket":"landvex-produktionspaket","version":"1.0","genererad":"2026-07-04",
"statistik":{"objektklasser":37,"kallbelagda_klasser":35,"produktmodeller":27,
"grafkanter":176,"aktiva_bounties":16,"bounty_forslag":17,"valideringsfel":0},
"kanonisk_not":"10-data/ ersätter alla tidigare versioner (master v1/v2, delfiler). Arkiv kvar i arbetsytan utanför paketet.",
"antal_filer":len(filer),"filer":filer}
(ROT/"00-styrning/MANIFEST.json").write_text(json.dumps(man,ensure_ascii=False,indent=2),encoding="utf-8")
print(f"MANIFEST: {len(filer)} filer checksummerade")