import os

import psycopg

# Parameter koneksi mengikuti variabel environment PG* --
# konvensi libpq yang sama dengan psql.
KONEKSI = dict(
    host=os.environ.get("PGHOST", "localhost"),
    port=os.environ.get("PGPORT", "5432"),
    user=os.environ.get("PGUSER", "postgres"),
    dbname=os.environ.get("PGDATABASE", "toko_db"),
)

# Pengiriman baru Toko Maju Jaya: satu daftar baris, satu panggilan
# executemany -- semuanya berjalan dalam satu transaksi.
PRODUK_BARU = [
    (81, "Mouse Wireless Senyap", 185000, 15),
    (82, "Webcam 1080p", 420000, 6),
    (83, "Headset dengan Mikrofon", 350000, 9),
    (84, "Lampu Meja LED", 120000, 20),
]

with psycopg.connect(**KONEKSI) as conn:
    cur = conn.cursor()
    cur.executemany(
        "INSERT INTO produk (id, nama, harga, stok) VALUES (%s, %s, %s, %s)",
        PRODUK_BARU,
    )
    print("executemany memasukkan", len(PRODUK_BARU), "baris dalam satu transaksi")

    cur.execute("SELECT id, nama FROM produk WHERE id >= 80 ORDER BY id")
    print("Isi tabel sekarang (id >= 80):")
    for id_, nama in cur.fetchall():
        print(f"  {id_} {nama}")
