#!/usr/bin/env python3
"""Batch 91: Northeast Lineage Facilities Verification"""
import csv
import sys
from datetime import datetime

# Verification updates for Northeast Lineage facilities
verifications = [
    {
        "match": {"Company": "Lineage Logistics - Baltimore", "Region": "Maryland"},
        "updates": {
            "Verification Source": "Lineage.com, Baltimore Directions",
            "Confidence Level": "Verified",
            "Notes": "4851 Holabird Avenue, Baltimore MD 21224. Port-centric cold storage. 24/7 operations, USDA inspection services, rail and road access. Near Port of Baltimore.",
            "Website": "https://www.onelineage.com/facilities/baltimore"
        }
    },
    {
        "match": {"Company": "Lineage Logistics - Newark", "Region": "New Jersey"},
        "updates": {
            "Verification Source": "Lineage.com, Chamber of Commerce",
            "Confidence Level": "Verified",
            "Notes": "360 Avenue P, Newark NJ 07105. Port-centric warehouse supporting USDA and I-house inspections for Port of NY/NJ imports/exports. Also Newark-Kearny facility serving tristate area.",
            "Website": "https://www.onelineage.com/facilities/newark"
        }
    },
    {
        "match": {"Company": "MTC Logistics (Lineage) - Baltimore", "Region": "Maryland"},
        "updates": {
            "Verification Source": "Business Wire, FleetOwner, DBusiness Magazine",
            "Confidence Level": "Verified",
            "Notes": "Acquired by Lineage March 2022. 4 strategic locations on/near ports of Baltimore MD, Wilmington DE, and Mobile AL. Blast freezing, import/export services, multi-temp storage (-20°F to 40°F).",
            "Website": "https://www.onelineage.com/facilities/baltimore"
        }
    },
    {
        "match": {"Company": "Preferred Freezer Services", "Region": "New York"},
        "updates": {
            "Verification Source": "Business Wire, MapQuest",
            "Confidence Level": "Verified",
            "Notes": "Acquired by Lineage 2019. Multiple NY/NJ facilities: Elizabeth NJ (150 Bayway Ave), Kearny NJ, Chatham NJ, Woodbridge NJ (190K sq ft). 37 US locations total.",
            "Website": "https://www.onelineage.com"
        }
    },
    {
        "match": {"Company": "Preferred Freezer Services", "Region": "New Jersey"},
        "updates": {
            "Verification Source": "Food Logistics, Greek Development, Business Wire",
            "Confidence Level": "Verified",
            "Notes": "Part of Lineage network. 9 NJ facilities including: Elizabeth (150 Bayway Ave), Woodbridge (190K sq ft custom cold storage), Kearny (9th NJ facility). Advanced engineered temperature-controlled warehouses.",
            "Website": "https://www.onelineage.com"
        }
    },
    {
        "match": {"Company": "Preferred Freezer Services", "Region": "Massachusetts"},
        "updates": {
            "Verification Source": "MapQuest, RKB Architects, SeafoodSource",
            "Confidence Level": "Verified",
            "Notes": "571 Paramount Dr, Raynham MA 02767. Part of Lineage network acquired 2019. State-of-the-art temperature-controlled warehousing. RKB Architects designed 20+ PFS facilities globally.",
            "Website": "https://www.onelineage.com"
        }
    },
    {
        "match": {"Company": "Lineage Logistics", "Region": "Pennsylvania"},
        "updates": {
            "Verification Source": "Lineage.com facility pages",
            "Confidence Level": "Verified",
            "Notes": "Multiple PA locations: Hazle Township (386K sq ft automated, 85K pallets), Allentown-Mitchell (regional distribution), Philadelphia (port-centric), Orefield (360K sq ft). I-81 corridor coverage.",
            "Website": "https://www.onelineage.com/find-facility"
        }
    }
]

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:
            # Check if row matches criteria
            if all(row.get(k, "").strip() == v.strip() for k, v in match_criteria.items()):
                # Apply updates
                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 91 Complete: {updated_count} facilities upgraded to Verified")
    
    # Count current 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()
