| #!/usr/bin/env python3 | |
| import hashlib | |
| from pathlib import Path | |
| r=Path(__file__).resolve().parent;rows=(r/'BUNDLE_SHA256SUMS.txt').read_text().splitlines();seen=set() | |
| for row in rows: | |
| d,n=row.split(' ',1);p=r/n;assert p.is_file() and hashlib.sha256(p.read_bytes()).hexdigest()==d,n;seen.add(n) | |
| actual={p.relative_to(r).as_posix() for p in r.rglob('*') if p.is_file() and p.name!='BUNDLE_SHA256SUMS.txt' and '__pycache__' not in p.parts} | |
| assert seen==actual;print(f'manifest verified: {len(rows)} files') | |