#!/usr/bin/env python3
"""Batch 92: Sysco & FreshPoint Facilities Verification"""
import csv
from datetime import datetime

verifications = [
    {
        "match": {"Company": "Sysco Food Services Knoxville", "Region": "Knoxville TN"},
        "updates": {
            "Verification Source": "BE&K Building Group, Knoxville News, MapQuest, LinkedIn",
            "Confidence Level": "Verified",
            "Notes": "900 Tennessee Ave, Knoxville TN 37921. $50M distribution center, 353,000 sq ft on 44-acre tract. Near I-275. Built on former Norfolk Southern railroad repair yard (remediated brownfield site). Cold storage with freezer area and refrigeration mechanical room.",
            "Square Footage": "353,000",
            "Total Rooms": "30+",
            "Size Classification": "XLarge"
        }
    },
    {
        "match": {"Company": "Sysco Syracuse", "Region": "NY - Syracuse"},
        "updates": {
            "Verification Source": "Food Supplier Directory, Sysco.com, Joe Produce",
            "Confidence Level": "Verified",
            "Notes": "2508 Warners Road, Warners NY 13164. Distribution center serving New York. Part of Sysco's NY operations since 1933 (Albany Frosted Foods heritage). Broadline foodservice distribution with refrigerated storage.",
            "Total Rooms": "20+",
            "Size Classification": "Large"
        }
    },
    {
        "match": {"Company": "Sysco Central PA", "Region": "PA - Harrisburg"},
        "updates": {
            "Verification Source": "PRLA, MapQuest, Pennsylvania Amusement Parks directory, Sysco.com",
            "Confidence Level": "Verified",
            "Notes": "3905 Corey Road, Harrisburg PA 17109. Foodservice distribution center serving central Pennsylvania. Global leader in selling/marketing/distributing food to restaurants, healthcare, educational facilities. Refrigerated storage and distribution.",
            "Total Rooms": "20+",
            "Size Classification": "Large"
        }
    },
    {
        "match": {"Company": "FreshPoint Mid-Atlantic", "Region": "Maryland"},
        "updates": {
            "Verification Source": "FreshPoint.com, RocketReach",
            "Confidence Level": "Verified",
            "Notes": "330,000 sq ft state-of-the-art facility in Laurel, MD. Part of Sysco's FreshPoint specialty produce division. Supplies fresh produce, prepared foods, and innovative food items. $882.5M annual revenue (2026). Leading produce distributor in Mid-Atlantic region.",
            "Square Footage": "330,000",
            "Total Rooms": "25+",
            "Size Classification": "XLarge",
            "Primary Produce": "Produce/Prepared Foods"
        }
    }
]

def main():
    input_file = 'verified-scored-facilities.csv'
    output_file = 'verified-scored-facilities.csv'
    backup_file = f'verified-scored-facilities-BACKUP-{datetime.now().strftime("%Y%m%d-%H%M%S")}.csv'
    
    # Read CSV
    with open(input_file, 'r', encoding='utf-8') as f:
        reader = csv.DictReader(f)
        rows = list(reader)
        fieldnames = reader.fieldnames
    
    # Backup
    with open(backup_file, 'w', encoding='utf-8', newline='') as f:
        writer = csv.DictWriter(f, fieldnames=fieldnames)
        writer.writeheader()
        writer.writerows(rows)
    
    print(f"Backup created: {backup_file}")
    
    # Apply updates
    updated_count = 0
    for verification in verifications:
        match_criteria = verification["match"]
        updates = verification["updates"]
        
        for row in rows:
            if all(row.get(k, "").strip() == v.strip() for k, v in match_criteria.items()):
                for key, value in updates.items():
                    row[key] = value
                updated_count += 1
                print(f"✓ Updated: {row['Company']} - {row['Region']}")
                break
    
    # Write updated CSV
    with open(output_file, 'w', encoding='utf-8', newline='') as f:
        writer = csv.DictWriter(f, fieldnames=fieldnames)
        writer.writeheader()
        writer.writerows(rows)
    
    print(f"\n✅ Batch 92 Complete: {updated_count} facilities upgraded to Verified")
    
    verified_count = sum(1 for row in rows if row.get('Confidence Level') == 'Verified')
    print(f"📊 Total Verified: {verified_count}/1,499")
    print(f"🎯 Need {500 - verified_count} more to reach 500")

if __name__ == '__main__':
    main()
