#!/usr/bin/env python3
"""Generate all 132 LocalSearch extraction prompts for Gemini CLI."""

import os

TRADES = {
    "plumbers": "plumber",
    "electricians": "electrician",
    "concreters": "concreter",
    "roofing-contractors": "roofing-contractor",
    "landscapers": "landscaper",
    "painters": "painter",
    "tilers": "tiler",
    "fencing-contractors": "fencing-contractor",
    "carpenters": "carpenter",
    "air-conditioning": "air-conditioning",
    "builders": "builder",
}

QLD_CITIES = [
    "brisbane-qld", "gold-coast-qld", "sunshine-coast-qld",
    "cairns-qld", "townsville-qld", "toowoomba-qld",
    "mackay-qld", "rockhampton-qld", "bundaberg-qld",
    "hervey-bay-qld", "gladstone-qld", "mount-isa-qld",
]

NSW_CITIES = [
    "sydney-nsw", "newcastle-nsw", "wollongong-nsw", "central-coast-nsw",
]

VIC_CITIES = [
    "melbourne-vic", "geelong-vic", "ballarat-vic", "bendigo-vic",
]

TEMPLATE = """Extract all {trade_label} businesses from https://www.localsearch.com.au/find/{category}/{city}. Navigate there in the browser. For each listing extract: business_name, phone, website, street_address, suburb, postcode, email, rating, review_count. Paginate through ALL pages (?page=2, ?page=3, etc.) until no more results. Save CSV to /mnt/e/genesis-system/data/LEADS/localsearch_{safe_cat}_{safe_city}.csv. Headers: business_name,trade_category,phone,website,street_address,suburb,state,postcode,email,rating,review_count,source_url. Set trade_category={trade_label}, state={state}."""

all_prompts = []
for category, trade_label in TRADES.items():
    for city in QLD_CITIES + NSW_CITIES + VIC_CITIES:
        state = city.split("-")[-1].upper()
        safe_cat = category.replace("-", "")
        safe_city = city.split("-" + city.split("-")[-1])[0].replace("-", "")
        prompt = TEMPLATE.format(
            trade_label=trade_label,
            category=category,
            city=city,
            safe_cat=safe_cat,
            safe_city=safe_city,
            state=state,
        )
        all_prompts.append(prompt)

os.makedirs('e:/genesis-system/data/LEADS', exist_ok=True)

# Save all prompts to file
with open("e:/genesis-system/data/LEADS/localsearch_all_prompts.txt", "w") as f:
    for i, p in enumerate(all_prompts, 1):
        f.write(f"--- PROMPT {i}/{len(all_prompts)} ---\n")
        f.write(p + "\n\n")

print(f"Generated {len(all_prompts)} prompts.")
print(f"Saved to e:/genesis-system/data/LEADS/localsearch_all_prompts.txt")
