# SPDX-License-Identifier: Apache-2.0
# Copyright 2026 Montpellier ECU
from pathlib import Path
import json,hashlib
r=Path(__file__).resolve().parent
j=json.loads((r/'boost-parts.json').read_text());target=r/j['original']
if target.exists():
    assert hashlib.sha256(target.read_bytes()).hexdigest()==j['sha256'],'Existing file differs; not overwritten'
    print('Already reconstructed and verified')
else:
    blocks=[]
    for part in j['parts']:
        b=(r/part['file']).read_bytes();assert hashlib.sha256(b).hexdigest()==part['sha256'];blocks.append(b)
    data=b''.join(blocks);assert hashlib.sha256(data).hexdigest()==j['sha256'];target.write_bytes(data);print('Reconstructed and verified:',target.name)
