glam/scripts/enrich_palestinian_gaza_2024.py
2025-12-06 19:50:04 +01:00

756 lines
29 KiB
Python

#!/usr/bin/env python3
"""
Enrich Palestinian Heritage Consolidated dataset with LAP Gaza Report 2024 data.
This script:
1. Adds new institutions from Gaza Report 2024 (archives, libraries, museums)
2. Adds conflict_status to existing Gaza institutions
3. Adds martyred information workers section
4. Updates metadata (version, sources, statistics)
Source: https://librarianswithpalestine.org/gaza-report-2024/
"""
import json
from datetime import datetime, timezone
from pathlib import Path
# File paths
DATA_FILE = Path("/Users/kempersc/apps/glam/data/extracted/palestinian_heritage_consolidated.json")
OUTPUT_FILE = DATA_FILE # Overwrite in place
# Source reference
LAP_SOURCE = {
"name": "Librarians with Palestine - Gaza Report 2024",
"url": "https://librarianswithpalestine.org/gaza-report-2024/",
"extraction_date": datetime.now(timezone.utc).isoformat(),
"method": "Manual extraction from LAP documentation",
"note": "Documents cultural heritage destruction in Gaza 2023-2024"
}
# Conflict status template
def make_conflict_status(status, date, description, reported_date=None):
return {
"status": status, # "destroyed", "damaged", "unknown"
"date": date,
"reported_date": reported_date or "2024-12-01",
"description": description,
"sources": ["Librarians with Palestine - Gaza Report 2024"]
}
# NEW INSTITUTIONS FROM GAZA REPORT 2024
# Starting from PS-HER-039
NEW_INSTITUTIONS = [
# ============ ARCHIVES (2) ============
{
"id": "PS-HER-039",
"name": "Central Archives of Gaza City",
"name_arabic": "الأرشيف المركزي لمدينة غزة",
"type": "GRP.HER.ARC",
"subtype": "archive",
"country": "PS",
"city": "Gaza City",
"location": "Gaza Strip, Palestine",
"description": "Municipal archives holding 150 years of historical records including Ottoman-era documents, British Mandate records, and modern Palestinian administrative documents.",
"conflict_status": make_conflict_status(
"destroyed",
"2023-11-01",
"Destroyed by Israeli bombardment in November 2023. An estimated 150 years of historical records were lost, including irreplaceable Ottoman-era documents and British Mandate records."
),
"confidence": 0.95,
"sources": ["lap_gaza_report_2024"],
"enrichment_status": "partial"
},
{
"id": "PS-HER-040",
"name": "Great Omari Mosque and Library",
"name_arabic": "المسجد العمري الكبير ومكتبته",
"type": "GRP.HER.LIB",
"subtype": "mosque_library",
"country": "PS",
"city": "Gaza City",
"location": "Gaza Strip, Palestine",
"description": "Historic mosque dating to 7th century CE, converted from Byzantine church. The library contained rare 14th century manuscripts and historical Islamic texts.",
"conflict_status": make_conflict_status(
"destroyed",
"2023-12-08",
"Destroyed by Israeli bombardment on December 8, 2023. The mosque was one of Gaza's oldest structures, and its library contained irreplaceable 14th century manuscripts."
),
"confidence": 0.95,
"sources": ["lap_gaza_report_2024"],
"enrichment_status": "partial"
},
# ============ LIBRARIES (11) ============
{
"id": "PS-HER-041",
"name": "Ataa Library / IBBY Children in Crisis Library",
"name_arabic": "مكتبة عطاء / مكتبة أطفال IBBY في الأزمات",
"type": "GRP.HER.LIB",
"subtype": "children_library",
"country": "PS",
"city": "Beit Hanoun",
"location": "Gaza Strip, Palestine",
"description": "Children's library supported by International Board on Books for Young People (IBBY). Provided reading programs and educational resources for children in crisis.",
"conflict_status": make_conflict_status(
"destroyed",
"2023-10-15",
"Destroyed in early Israeli bombardment of Beit Hanoun, October 2023."
),
"confidence": 0.90,
"sources": ["lap_gaza_report_2024"],
"enrichment_status": "partial"
},
{
"id": "PS-HER-042",
"name": "Diana Tamari Sabbagh Library",
"name_arabic": "مكتبة ديانا تماري صباغ",
"type": "GRP.HER.LIB",
"subtype": "public_library",
"country": "PS",
"city": "Gaza City",
"location": "Gaza Strip, Palestine",
"description": "Public library named after Palestinian-American philanthropist Diana Tamari Sabbagh.",
"conflict_status": make_conflict_status(
"destroyed",
"2023-11-01",
"Destroyed during Israeli military operations in Gaza City, November 2023."
),
"confidence": 0.85,
"sources": ["lap_gaza_report_2024"],
"enrichment_status": "partial"
},
{
"id": "PS-HER-043",
"name": "Edward Said Library",
"name_arabic": "مكتبة إدوارد سعيد",
"type": "GRP.HER.LIB",
"subtype": "public_library",
"country": "PS",
"city": "Gaza City",
"location": "Gaza Strip, Palestine",
"description": "Library named after renowned Palestinian-American literary theorist and public intellectual Edward Said.",
"conflict_status": make_conflict_status(
"destroyed",
"2023-11-01",
"Destroyed during Israeli military operations in Gaza, late 2023."
),
"confidence": 0.85,
"sources": ["lap_gaza_report_2024"],
"enrichment_status": "partial"
},
{
"id": "PS-HER-044",
"name": "Enaim Library",
"name_arabic": "مكتبة عنايم",
"type": "GRP.HER.LIB",
"subtype": "public_library",
"country": "PS",
"city": "Gaza City",
"location": "Gaza Strip, Palestine",
"description": "Public library serving the Gaza community.",
"conflict_status": make_conflict_status(
"destroyed",
"2023-11-01",
"Destroyed during Israeli military operations in Gaza, 2023-2024."
),
"confidence": 0.80,
"sources": ["lap_gaza_report_2024"],
"enrichment_status": "partial"
},
{
"id": "PS-HER-045",
"name": "Gaza Municipal Library",
"name_arabic": "مكتبة بلدية غزة",
"type": "GRP.HER.LIB",
"subtype": "municipal_library",
"country": "PS",
"city": "Gaza City",
"location": "Gaza Strip, Palestine",
"description": "Main municipal public library of Gaza City, part of the Gaza Municipality Public Library System.",
"conflict_status": make_conflict_status(
"destroyed",
"2023-11-01",
"Destroyed during Israeli bombardment of Gaza City municipal infrastructure."
),
"confidence": 0.90,
"sources": ["lap_gaza_report_2024"],
"notes": "Related to PS-HER-021 Gaza Municipality Public Library System",
"enrichment_status": "partial"
},
{
"id": "PS-HER-046",
"name": "Al-Kalima Library",
"name_arabic": "مكتبة الكلمة",
"type": "GRP.HER.LIB",
"subtype": "public_library",
"country": "PS",
"city": "Gaza City",
"location": "Gaza Strip, Palestine",
"description": "Public library ('Al-Kalima' means 'The Word' in Arabic).",
"conflict_status": make_conflict_status(
"destroyed",
"2023-11-01",
"Destroyed during Israeli military operations in Gaza, 2023-2024."
),
"confidence": 0.80,
"sources": ["lap_gaza_report_2024"],
"enrichment_status": "partial"
},
{
"id": "PS-HER-047",
"name": "Kana'an Educational Development Institute",
"name_arabic": "معهد كنعان للتنمية التعليمية",
"type": "GRP.HER.LIB",
"subtype": "educational_library",
"country": "PS",
"city": "Gaza City",
"location": "Gaza Strip, Palestine",
"description": "Educational institute with library resources focused on Palestinian educational development.",
"conflict_status": make_conflict_status(
"destroyed",
"2023-11-01",
"Destroyed during Israeli military operations in Gaza, 2023-2024."
),
"confidence": 0.85,
"sources": ["lap_gaza_report_2024"],
"enrichment_status": "partial"
},
{
"id": "PS-HER-048",
"name": "Lubbud Library",
"name_arabic": "مكتبة لبد",
"type": "GRP.HER.LIB",
"subtype": "public_library",
"country": "PS",
"city": "Gaza City",
"location": "Gaza Strip, Palestine",
"description": "Public library serving the Gaza community.",
"conflict_status": make_conflict_status(
"destroyed",
"2023-11-01",
"Destroyed during Israeli military operations in Gaza, 2023-2024."
),
"confidence": 0.80,
"sources": ["lap_gaza_report_2024"],
"enrichment_status": "partial"
},
{
"id": "PS-HER-049",
"name": "Al-Nahda Library",
"name_arabic": "مكتبة النهضة",
"type": "GRP.HER.LIB",
"subtype": "public_library",
"country": "PS",
"city": "Gaza City",
"location": "Gaza Strip, Palestine",
"description": "Public library ('Al-Nahda' means 'The Renaissance' in Arabic).",
"conflict_status": make_conflict_status(
"destroyed",
"2023-11-01",
"Destroyed during Israeli military operations in Gaza, 2023-2024."
),
"confidence": 0.80,
"sources": ["lap_gaza_report_2024"],
"enrichment_status": "partial"
},
{
"id": "PS-HER-050",
"name": "Samir Mansour Bookshop and Publishing",
"name_arabic": "مكتبة ودار نشر سمير منصور",
"type": "GRP.HER.LIB",
"subtype": "bookshop_publisher",
"country": "PS",
"city": "Gaza City",
"location": "Gaza Strip, Palestine",
"description": "Major bookshop and publishing house in Gaza, important distributor of Arabic literature and Palestinian publications. Destroyed and rebuilt after 2021, then destroyed again in 2023.",
"conflict_status": make_conflict_status(
"destroyed",
"2023-10-15",
"Destroyed in early Israeli bombardment, October 2023. This was the second destruction - the bookshop had been rebuilt after being destroyed in May 2021."
),
"confidence": 0.95,
"sources": ["lap_gaza_report_2024"],
"enrichment_status": "partial"
},
{
"id": "PS-HER-051",
"name": "Al-Shorouq Al-Daem Library",
"name_arabic": "مكتبة الشروق الدائم",
"type": "GRP.HER.LIB",
"subtype": "public_library",
"country": "PS",
"city": "Gaza City",
"location": "Gaza Strip, Palestine",
"description": "Public library ('Al-Shorouq Al-Daem' means 'The Eternal Sunrise' in Arabic).",
"conflict_status": make_conflict_status(
"destroyed",
"2023-11-01",
"Destroyed during Israeli military operations in Gaza, 2023-2024."
),
"confidence": 0.80,
"sources": ["lap_gaza_report_2024"],
"enrichment_status": "partial"
},
# ============ UNIVERSITY LIBRARIES (4) ============
{
"id": "PS-HER-052",
"name": "Al-Aqsa University Library",
"name_arabic": "مكتبة جامعة الأقصى",
"type": "GRP.HER.LIB",
"subtype": "university_library",
"country": "PS",
"city": "Gaza City",
"location": "Gaza Strip, Palestine",
"description": "University library of Al-Aqsa University, one of Gaza's major higher education institutions.",
"conflict_status": make_conflict_status(
"destroyed",
"2023-11-01",
"Al-Aqsa University campus and library destroyed during Israeli military operations in Gaza."
),
"confidence": 0.90,
"sources": ["lap_gaza_report_2024"],
"enrichment_status": "partial"
},
{
"id": "PS-HER-053",
"name": "Al-Israa University Library and National Museum",
"name_arabic": "مكتبة جامعة الإسراء والمتحف الوطني",
"type": "GRP.HER.MIX",
"subtype": "university_library_museum",
"country": "PS",
"city": "Gaza City",
"location": "Gaza Strip, Palestine",
"description": "Combined university library and national museum at Al-Israa University. The museum housed significant Palestinian archaeological and cultural artifacts.",
"conflict_status": make_conflict_status(
"destroyed",
"2024-01-17",
"Al-Israa University, including its library and national museum, was deliberately targeted and destroyed by Israeli forces on January 17, 2024. The destruction was documented and appears to have been a controlled demolition."
),
"confidence": 0.95,
"sources": ["lap_gaza_report_2024"],
"enrichment_status": "partial"
},
{
"id": "PS-HER-054",
"name": "Al-Quds Open University Library - Gaza",
"name_arabic": "مكتبة جامعة القدس المفتوحة - غزة",
"type": "GRP.HER.LIB",
"subtype": "university_library",
"country": "PS",
"city": "Gaza City",
"location": "Gaza Strip, Palestine",
"description": "Gaza branch library of Al-Quds Open University, providing distance education resources.",
"conflict_status": make_conflict_status(
"destroyed",
"2023-11-01",
"Gaza campus and library destroyed during Israeli military operations."
),
"confidence": 0.85,
"sources": ["lap_gaza_report_2024"],
"enrichment_status": "partial"
},
{
"id": "PS-HER-055",
"name": "Jawaharlal Nehru Library - Al-Azhar University Gaza",
"name_arabic": "مكتبة جواهر لال نهرو - جامعة الأزهر غزة",
"type": "GRP.HER.LIB",
"subtype": "university_library",
"country": "PS",
"city": "Gaza City",
"location": "Gaza Strip, Palestine",
"description": "University library at Al-Azhar University Gaza, named after Indian independence leader Jawaharlal Nehru.",
"conflict_status": make_conflict_status(
"destroyed",
"2023-11-01",
"Al-Azhar University Gaza campus and Jawaharlal Nehru Library destroyed during Israeli military operations."
),
"confidence": 0.90,
"sources": ["lap_gaza_report_2024"],
"enrichment_status": "partial"
},
# ============ MUSEUMS (10) ============
{
"id": "PS-HER-056",
"name": "Akkad Museum",
"name_arabic": "متحف أكاد",
"type": "GRP.HER.MUS",
"subtype": "heritage_museum",
"country": "PS",
"city": "Gaza City",
"location": "Gaza Strip, Palestine",
"description": "Private heritage museum preserving Palestinian cultural artifacts.",
"conflict_status": make_conflict_status(
"destroyed",
"2023-11-01",
"Destroyed during Israeli military operations in Gaza, 2023-2024."
),
"confidence": 0.85,
"sources": ["lap_gaza_report_2024"],
"enrichment_status": "partial"
},
{
"id": "PS-HER-057",
"name": "Cultural Kararah Museum",
"name_arabic": "متحف كرارة الثقافي",
"type": "GRP.HER.MUS",
"subtype": "cultural_museum",
"country": "PS",
"city": "Khan Yunis",
"location": "Gaza Strip, Palestine",
"description": "Cultural museum in the Kararah area, preserving local heritage and traditions.",
"conflict_status": make_conflict_status(
"destroyed",
"2024-01-01",
"Destroyed during Israeli ground operations in Khan Yunis area, early 2024."
),
"confidence": 0.85,
"sources": ["lap_gaza_report_2024"],
"enrichment_status": "partial"
},
{
"id": "PS-HER-058",
"name": "Deir Al-Balah Museum",
"name_arabic": "متحف دير البلح",
"type": "GRP.HER.MUS",
"subtype": "archaeological_museum",
"country": "PS",
"city": "Deir al-Balah",
"location": "Gaza Strip, Palestine",
"description": "Archaeological museum housing artifacts from the ancient site of Deir al-Balah, including Bronze Age Egyptian and Canaanite remains.",
"conflict_status": make_conflict_status(
"destroyed",
"2024-01-01",
"Destroyed during Israeli military operations in central Gaza."
),
"confidence": 0.85,
"sources": ["lap_gaza_report_2024"],
"enrichment_status": "partial"
},
{
"id": "PS-HER-059",
"name": "Ibrahim Abu Sha'ar Heritage Diwan",
"name_arabic": "ديوان إبراهيم أبو شعر التراثي",
"type": "GRP.HER.MUS",
"subtype": "heritage_house",
"country": "PS",
"city": "Gaza City",
"location": "Gaza Strip, Palestine",
"description": "Traditional heritage house (diwan) preserving Palestinian cultural traditions and family history.",
"conflict_status": make_conflict_status(
"destroyed",
"2023-11-01",
"Destroyed during Israeli military operations in Gaza, 2023-2024."
),
"confidence": 0.80,
"sources": ["lap_gaza_report_2024"],
"enrichment_status": "partial"
},
{
"id": "PS-HER-060",
"name": "Khudari Museum",
"name_arabic": "متحف الخضري",
"type": "GRP.HER.MUS",
"subtype": "heritage_museum",
"country": "PS",
"city": "Gaza City",
"location": "Gaza Strip, Palestine",
"description": "Heritage museum preserving Palestinian cultural artifacts and family collections.",
"conflict_status": make_conflict_status(
"destroyed",
"2023-11-01",
"Destroyed during Israeli military operations in Gaza, 2023-2024."
),
"confidence": 0.85,
"sources": ["lap_gaza_report_2024"],
"enrichment_status": "partial"
},
{
"id": "PS-HER-061",
"name": "Palestinian Costume Museum",
"name_arabic": "متحف الأزياء الفلسطينية",
"type": "GRP.HER.MUS",
"subtype": "costume_museum",
"country": "PS",
"city": "Gaza City",
"location": "Gaza Strip, Palestine",
"description": "Museum dedicated to preserving traditional Palestinian dress and embroidery (tatreez), an important UNESCO-recognized element of intangible cultural heritage.",
"conflict_status": make_conflict_status(
"destroyed",
"2023-11-01",
"Destroyed during Israeli military operations in Gaza. Loss includes irreplaceable historic garments and embroidery examples."
),
"confidence": 0.90,
"sources": ["lap_gaza_report_2024"],
"enrichment_status": "partial"
},
{
"id": "PS-HER-062",
"name": "Al-Qarara Cultural Museum",
"name_arabic": "متحف القرارة الثقافي",
"type": "GRP.HER.MUS",
"subtype": "cultural_museum",
"country": "PS",
"city": "Khan Yunis",
"location": "Al-Qarara, Gaza Strip, Palestine",
"description": "Cultural museum in Al-Qarara area preserving local heritage and traditions.",
"conflict_status": make_conflict_status(
"destroyed",
"2024-01-01",
"Destroyed during Israeli ground operations in Khan Yunis area, early 2024."
),
"confidence": 0.85,
"sources": ["lap_gaza_report_2024"],
"enrichment_status": "partial"
},
{
"id": "PS-HER-063",
"name": "Rafah Museum",
"name_arabic": "متحف رفح",
"type": "GRP.HER.MUS",
"subtype": "heritage_museum",
"country": "PS",
"city": "Rafah",
"location": "Gaza Strip, Palestine",
"description": "Heritage museum in Rafah preserving local cultural artifacts and history.",
"conflict_status": make_conflict_status(
"destroyed",
"2024-05-01",
"Destroyed during Israeli military operations in Rafah, May 2024."
),
"confidence": 0.85,
"sources": ["lap_gaza_report_2024"],
"enrichment_status": "partial"
},
{
"id": "PS-HER-064",
"name": "Shahwan Museum",
"name_arabic": "متحف شهوان",
"type": "GRP.HER.MUS",
"subtype": "heritage_museum",
"country": "PS",
"city": "Gaza City",
"location": "Gaza Strip, Palestine",
"description": "Private heritage museum preserving Palestinian cultural artifacts and family collections.",
"conflict_status": make_conflict_status(
"destroyed",
"2023-11-01",
"Destroyed during Israeli military operations in Gaza, 2023-2024."
),
"confidence": 0.85,
"sources": ["lap_gaza_report_2024"],
"enrichment_status": "partial"
},
]
# MARTYRED INFORMATION WORKERS
MARTYRED_WORKERS = [
{
"name": "Abdul Karim Hashash",
"name_arabic": "عبد الكريم حشاش",
"role": "Librarian",
"institution": "Unknown",
"date_of_death": "2023-2024",
"circumstances": "Killed during Israeli military operations in Gaza",
"source": "Librarians with Palestine - Gaza Report 2024"
},
{
"name": "Bilal Jadallah",
"name_arabic": "بلال جادالله",
"role": "Journalist and Information Professional",
"institution": "Press House - Palestine",
"date_of_death": "2023-11-19",
"circumstances": "Killed in Israeli airstrike on his home in Gaza City",
"source": "Librarians with Palestine - Gaza Report 2024"
},
{
"name": "Doaa Al-Masri",
"name_arabic": "دعاء المصري",
"role": "Librarian",
"institution": "Unknown",
"date_of_death": "2023-2024",
"circumstances": "Killed during Israeli military operations in Gaza",
"source": "Librarians with Palestine - Gaza Report 2024"
},
{
"name": "Dr. Jihad Suleiman Al-Masri",
"name_arabic": "د. جهاد سليمان المصري",
"role": "Academic and Library Professional",
"institution": "University library",
"date_of_death": "2023-2024",
"circumstances": "Killed during Israeli military operations in Gaza",
"source": "Librarians with Palestine - Gaza Report 2024"
},
{
"name": "Iman Abu Saeed",
"name_arabic": "إيمان أبو سعيد",
"role": "Librarian",
"institution": "Unknown",
"date_of_death": "2023-2024",
"circumstances": "Killed during Israeli military operations in Gaza",
"source": "Librarians with Palestine - Gaza Report 2024"
},
{
"name": "Marwan Tarazi",
"name_arabic": "مروان طرازي",
"role": "Archivist/Information Professional",
"institution": "Unknown",
"date_of_death": "2023-2024",
"circumstances": "Killed during Israeli military operations in Gaza",
"source": "Librarians with Palestine - Gaza Report 2024"
},
]
# EXISTING GAZA INSTITUTIONS NEEDING conflict_status
EXISTING_UPDATES = {
"PS-HER-006": {
"name": "Iwan Center for Cultural Heritage",
"conflict_status": make_conflict_status(
"destroyed",
"2023-10-15",
"Located at the Islamic University of Gaza. The Iwan Center and its digital heritage archives were destroyed when the university was bombed in October 2023."
)
},
"PS-HER-012": {
"name": "Gaza Municipality Central Archives",
"conflict_status": make_conflict_status(
"destroyed",
"2023-11-01",
"Municipal archives destroyed during Israeli bombardment of Gaza City municipal infrastructure. Loss includes decades of administrative records and historical documents."
)
},
"PS-HER-021": {
"name": "Gaza Municipality Public Library System",
"conflict_status": make_conflict_status(
"destroyed",
"2023-11-01",
"The public library system, including multiple branch libraries, was destroyed during Israeli military operations in Gaza City."
)
},
"PS-HER-025": {
"name": "Islamic University of Gaza Libraries",
"conflict_status": make_conflict_status(
"destroyed",
"2023-10-11",
"Islamic University of Gaza was one of the first educational institutions targeted. The university libraries were destroyed in early October 2023 bombardments."
)
},
}
def load_data():
"""Load the existing JSON file."""
with open(DATA_FILE, 'r', encoding='utf-8') as f:
return json.load(f)
def update_existing_institutions(data):
"""Add conflict_status to existing Gaza institutions."""
updated_count = 0
for institution in data['institutions']:
inst_id = institution.get('id')
if inst_id in EXISTING_UPDATES:
institution['conflict_status'] = EXISTING_UPDATES[inst_id]['conflict_status']
# Add source if not present
if 'lap_gaza_report_2024' not in institution.get('sources', []):
institution.setdefault('sources', []).append('lap_gaza_report_2024')
updated_count += 1
print(f" Updated: {inst_id} - {EXISTING_UPDATES[inst_id]['name']}")
return updated_count
def add_new_institutions(data):
"""Add new institutions from Gaza Report 2024."""
added_count = 0
for institution in NEW_INSTITUTIONS:
data['institutions'].append(institution)
added_count += 1
print(f" Added: {institution['id']} - {institution['name']}")
return added_count
def add_martyred_workers(data):
"""Add martyred information workers section."""
data['martyred_information_workers'] = {
"description": "Information professionals (librarians, archivists, journalists) killed during Israeli military operations in Gaza 2023-2024",
"source": "Librarians with Palestine - Gaza Report 2024",
"count": len(MARTYRED_WORKERS),
"workers": MARTYRED_WORKERS
}
print(f" Added {len(MARTYRED_WORKERS)} martyred information workers")
def update_metadata(data, added_count, updated_count):
"""Update metadata with new version and statistics."""
now = datetime.now(timezone.utc).isoformat()
# Update version
data['metadata']['version'] = "2.4.0"
data['metadata']['updated'] = now
# Add new source
data['metadata']['sources'].append(LAP_SOURCE)
# Update statistics
old_total = data['metadata']['statistics']['total_unique_institutions']
old_palestinian = data['metadata']['statistics']['palestinian_institutions']
data['metadata']['statistics']['total_unique_institutions'] = old_total + added_count
data['metadata']['statistics']['palestinian_institutions'] = old_palestinian + added_count
data['metadata']['statistics']['gaza_institutions_destroyed'] = added_count + updated_count
data['metadata']['statistics']['martyred_information_workers'] = len(MARTYRED_WORKERS)
print(f"\nMetadata updated:")
print(f" Version: 2.3.0 -> 2.4.0")
print(f" Total institutions: {old_total} -> {old_total + added_count}")
print(f" Palestinian institutions: {old_palestinian} -> {old_palestinian + added_count}")
def save_data(data):
"""Save the updated JSON file."""
with open(OUTPUT_FILE, 'w', encoding='utf-8') as f:
json.dump(data, f, indent=2, ensure_ascii=False)
print(f"\nSaved to: {OUTPUT_FILE}")
def main():
print("=" * 60)
print("Palestinian Heritage Dataset - Gaza Report 2024 Enrichment")
print("=" * 60)
print("\n1. Loading existing data...")
data = load_data()
print(f" Loaded {len(data['institutions'])} institutions")
print("\n2. Updating existing Gaza institutions with conflict_status...")
updated_count = update_existing_institutions(data)
print(f" Updated {updated_count} existing institutions")
print("\n3. Adding new institutions from Gaza Report 2024...")
added_count = add_new_institutions(data)
print(f" Added {added_count} new institutions")
print("\n4. Adding martyred information workers section...")
add_martyred_workers(data)
print("\n5. Updating metadata...")
update_metadata(data, added_count, updated_count)
print("\n6. Saving updated data...")
save_data(data)
print("\n" + "=" * 60)
print("ENRICHMENT COMPLETE")
print("=" * 60)
print(f"\nSummary:")
print(f" - Existing institutions updated: {updated_count}")
print(f" - New institutions added: {added_count}")
print(f" - Martyred workers documented: {len(MARTYRED_WORKERS)}")
print(f" - New version: 2.4.0")
if __name__ == "__main__":
main()