| #!/usr/bin/env python3 | |
| from __future__ import annotations | |
| import hashlib | |
| from pathlib import Path | |
| ROOT=Path(__file__).resolve().parent; OUT=ROOT/'BUNDLE_SHA256SUMS.txt' | |
| def digest(path): | |
| h=hashlib.sha256() | |
| with path.open('rb') as f: | |
| for block in iter(lambda:f.read(1<<20),b''): h.update(block) | |
| return h.hexdigest() | |
| rows=[] | |
| for path in sorted(ROOT.rglob('*')): | |
| if path.is_file() and path!=OUT and '__pycache__' not in path.parts and 'replay-check' not in path.parts: rows.append(f"{digest(path)} {path.relative_to(ROOT).as_posix()}") | |
| OUT.write_text('\n'.join(rows)+'\n',encoding='utf-8'); print(f"wrote {len(rows)} entries to {OUT.name}") | |