"""Check downloaded release artifacts using only Python's standard library.""" from pathlib import Path from html.parser import HTMLParser from urllib.parse import urlsplit,unquote import hashlib,json ROOT=Path(__file__).resolve().parents[1] def local(path): p=(ROOT/path).resolve() if not p.is_relative_to(ROOT):raise ValueError('Path outside release: '+path) return p manifest=json.loads((ROOT/'release_manifest.json').read_text()) for item in manifest['files']: p=local(item['path']);assert p.is_file(),item['path'] assert p.stat().st_size==item['bytes'],item['path'] with p.open('rb') as f: digest=hashlib.file_digest(f,'sha256').hexdigest() if hasattr(hashlib,'file_digest') else hashlib.sha256(f.read()).hexdigest() assert digest==item['sha256'],item['path'] record=json.loads((ROOT/'examples/baseball_swing.json').read_text()) assert record['split']=='case-study' assert record['timing']['frame_count']==52 and record['timing']['fps']==30 for path in record['artifacts'].values():assert local(path).is_file(),path with local(record['artifacts']['animated_fbx']).open('rb') as f:assert f.read(23)==b'Kaydara FBX Binary \x00\x1a\x00' class Links(HTMLParser): def __init__(self):super().__init__();self.paths=[];self.ids=[];self.fragments=[] def handle_starttag(self,tag,attrs): d=dict(attrs) if 'id' in d:self.ids.append(d['id']) for name in ['href','src','poster']: u=urlsplit(d.get(name,'')) if u.scheme or u.netloc:continue if u.path:self.paths.append(unquote(u.path)) elif u.fragment:self.fragments.append(u.fragment) p=Links();p.feed((ROOT/'whitepaper/index.html').read_text()) for path in p.paths:assert local('whitepaper/'+path).is_file(),path assert len(p.ids)==len(set(p.ids)) assert all(x in p.ids for x in p.fragments) print(f"Verified {len(manifest['files'])} release files, the FBX header, example record and local paper links.") print('Integrity check only; this does not execute reconstruction or model inference.')