#!/usr/bin/env python3
import hashlib,json,pathlib,tarfile
here=pathlib.Path(__file__).resolve().parent;business=here.parents[4]/'zhctproject/store';rel='application/api/service/Card.php'
proof=json.loads((here/'CARD_TDD.json').read_bytes());assert hashlib.sha256((business/rel).read_bytes()).hexdigest()==proof['candidate_sha256']
source={x.split(None,1)[1]:x.split(None,1)[0] for x in (here/'SOURCE_SHA256.txt').read_text().splitlines()};assert source[rel]==proof['original_sha256'];source[rel]=proof['candidate_sha256']
(here/'CARD_GREEN_SOURCE_SHA256.txt').write_text(''.join(h+'  '+f+'\n' for f,h in source.items()))
with tarfile.open('/tmp/cdx-catalog7-card-green.tar.gz','w:gz') as archive:
 archive.add(here/'CARD_GREEN_SOURCE_SHA256.txt',arcname='SOURCE_SHA256.txt',recursive=False);archive.add(business/rel,arcname='source/'+rel,recursive=False)
 for name in ['worker.php','index.php','prepare_card_green.php','postcheck_card_green.php','CardResponseContractTest.php']:archive.add(here/name,arcname=name,recursive=False)
print(json.dumps({'changed_business_files':1,'candidate_sha256':proof['candidate_sha256'],'business_source_writes':0}))
