#!/usr/bin/env python3
"""Generate ~1 year of sample 4D results for testing the importer.
Wed/Sat/Sun draws, 3 operators, 23 prizes each. Numbers are uniform random
(as real draws are), so any 'patterns' the app finds are honestly just noise.
"""
import csv, random
from datetime import date, timedelta

random.seed(42)
ops = ["MAG", "TOTO", "DMC"]
start = date.today() - timedelta(days=365)
end = date.today()

rows = []
d = start
draw_seq = 6000
while d <= end:
    if d.weekday() in (2, 5, 6):  # Wed=2, Sat=5, Sun=6
        draw_seq += 1
        for op in ops:
            draw_no = f"{draw_seq}/{str(d.year)[2:]}"
            # top 3
            for cat in ("1", "2", "3"):
                rows.append([op, d.isoformat(), draw_no, cat, 0,
                             f"{random.randint(0,9999):04d}"])
            # 10 special
            for i in range(1, 11):
                rows.append([op, d.isoformat(), draw_no, "S", i,
                             f"{random.randint(0,9999):04d}"])
            # 10 consolation
            for i in range(1, 11):
                rows.append([op, d.isoformat(), draw_no, "C", i,
                             f"{random.randint(0,9999):04d}"])
    d += timedelta(days=1)

with open("sample_results.csv", "w", newline="") as f:
    w = csv.writer(f)
    w.writerow(["operator_code", "draw_date", "draw_no", "category", "position", "number"])
    w.writerows(rows)

print(f"Wrote {len(rows)} result rows across {len(set(r[1] for r in rows))} draw dates")
