diff --git a/app/Services/SectorResourceReferences.php b/app/Services/SectorResourceReferences.php index 997115e8..2c4216fc 100644 --- a/app/Services/SectorResourceReferences.php +++ b/app/Services/SectorResourceReferences.php @@ -15,8 +15,8 @@ final class SectorResourceReferences // Generated data are checked independently from the unchanged Word originals. public const DATA = [ - 'mineracao' => ['file' => 'mining-reference-20261111.json', 'hash' => '173c1fda9e20997436704d0e8e3a9a6d1be9b0dba4eb8b5f3d4c1e5fbb1020b8'], - 'energia-especifica' => ['file' => 'energy-reference-20261111.json', 'hash' => '3c1c33e68a710c65114f5db232eceb732f8894a1825baa52683e70a6e5a1f2bf'], + 'mineracao' => ['file' => 'mining-reference-20261111.json', 'hash' => '9274f4059ef5d7aa8ec625f1c6f8fd4a11c8e314c5282c5f24c38dbcf7c68bb5'], + 'energia-especifica' => ['file' => 'energy-reference-20261111.json', 'hash' => '3c0fe65a0682d952987f63bb48aaaada9ba4f8d10ae40149658211f56fa8e7ac'], ]; /** @return array */ diff --git a/tools/prepare-energy-reference.py b/tools/prepare-energy-reference.py index 18c9e84a..ae009c39 100644 --- a/tools/prepare-energy-reference.py +++ b/tools/prepare-energy-reference.py @@ -104,5 +104,5 @@ def editorial(value): return value for key in ['areas','background']: result[key]=editorial(result[key]) args.out.parent.mkdir(parents=True, exist_ok=True) -args.out.write_text(json.dumps(result, ensure_ascii=False, indent=2), encoding='utf-8') +args.out.write_text(json.dumps(result, ensure_ascii=False, indent=2), encoding='utf-8',newline='\n') print(json.dumps({'sha256':result['source_sha256'],'groups':len(groups),'areas':len(areas),'projects':len(projects),'sources':len(result['sources'])})) diff --git a/tools/prepare-mining-reference.py b/tools/prepare-mining-reference.py index fce8320b..b2f598d5 100644 --- a/tools/prepare-mining-reference.py +++ b/tools/prepare-mining-reference.py @@ -21,4 +21,4 @@ for i,(row,detail) in enumerate(zip(tables[2][1:],tables[3:]),1): fields=dict(detail[1:]);mineral_groups={1:[1],2:[4],3:[3,5],4:[2],5:[10],6:[11],7:[6],8:[7],9:[8],10:[9]};areas.append({'id':f'MIN-{i:02}','title':row[0],'mineral_ids':[f'MINERAL-{number:02}' for number in mineral_groups[i]],'locations_text':row[1],'province_names':locations(row[1]),'market_evidence':row[2],'value_chain':row[3],'source_state':row[4],'indicative_location':fields.get('Localização indicativa (distrito, não oficial)',''),'source_fields':fields,'source_row':f'table3:row{i}','coordinates':None,'availability':'reference_only','promotion_ready':False}) result={'format':'investmoz-mining-reference-v1','source_sha256':source_hash,'source_document_name':args.source.name,'reference_date':'2026-11-11','title':'Mineração e cadeias de valor em Moçambique','minerals':minerals,'areas':areas,'indicators':[{'mineral':r[0],'value':r[1],'source':r[2],'source_row':f'table2:row{i}'} for i,r in enumerate(tables[1][1:],1)],'projects':sections.get('3.0',[]),'risks':sections.get('7.0',[]),'sources':sections.get('8.0',[]),'original_paragraphs':paragraphs,'source_instructions_are_not_product_rules':True} assert len(areas)==10 and len(minerals)==11 and len(result['indicators'])==12 and len(result['projects'])==6 and result['sources'] -args.out.parent.mkdir(parents=True,exist_ok=True);args.out.write_text(json.dumps(result,ensure_ascii=False,indent=2),encoding='utf-8');print(json.dumps({'sha256':source_hash,'minerals':len(minerals),'areas':len(areas),'projects':len(result['projects']),'indicators':len(result['indicators']),'sources':len(result['sources']),'coordinates_created':0})) +args.out.parent.mkdir(parents=True,exist_ok=True);args.out.write_text(json.dumps(result,ensure_ascii=False,indent=2),encoding='utf-8',newline='\n');print(json.dumps({'sha256':source_hash,'minerals':len(minerals),'areas':len(areas),'projects':len(result['projects']),'indicators':len(result['indicators']),'sources':len(result['sources']),'coordinates_created':0}))