← back to Elitis Price 2026

exec/probe_ws2_ws3.py

29 lines

import csv, sys, json
sys.path.insert(0,'exec/lib')
from shopify import find_product_by_title

# WS2: the 20 disco products - confirm they resolve + current status
plan=list(csv.DictReader(open("PLAN_price_update.csv")))
disco=[r for r in plan if r["action"].startswith("DISCONTINUE")]
print(f"WS2 DISCONTINUE rows in plan: {len(disco)}")
found=0; already=0; missing=[]
for r in disco:
    n=find_product_by_title(r["title"])
    if not n: missing.append(r["title"]); continue
    found+=1
    if n["status"]=="ARCHIVED": already+=1
pats=set()
for r in disco:
    t=r["title"]
    if "VP-1048" in t or "1048" in t: pats.add("VP-1048")
    elif "VP-1050" in t or "1050" in t: pats.add("VP-1050")
print(f"  resolved on live: {found}/{len(disco)}  already ARCHIVED: {already}  patterns: {sorted(pats)}")
if missing: print("  MISSING:", missing)

# WS3 counts
sj=list(csv.DictReader(open("OUT_577_staging_join.csv")))
nd=list(csv.DictReader(open("OUT_577_no_catalog_data.csv")))
print(f"\nWS3 staging_join rows: {len(sj)}   no_catalog_data rows: {len(nd)}")
print("  staging_join header:", sj[0].keys() if sj else None)
print("  no_catalog header:", nd[0].keys() if nd else None)