import json
import sqlite3

with open("data.json", encoding="utf-8") as f:
    data = json.load(f)

# alustetaan tietokantayhteys ja -kursori 
con = sqlite3.connect("tietokanta.db")
cur = con.cursor()

# luodaan ensimmäinen taulu tietokantaan
cur.execute("CREATE TABLE ateria(id integer primary key, paiva, ruoka)")

# käydään data läpi ja laitetaan kiinnostava sisältö tietokantaan
for paiva in data["MenusForDays"]:
    pvm = paiva['Date']
    for ruoka in paiva["SetMenus"]:
        # ei laiteta tyhjiä rivejä mukaan
        if len(ruoka['Components']) != 0:
            # yhdistetään ruokavaihtoehdon eri komponentit
            ruokastring = ' '.join(ruoka['Components'])
            # EI näin, SQL injection:
            #stmt = f"INSERT INTO ateria (paiva, ruoka) VALUES({pvm}, {ruokastring})"
            #cur.execute(stmt)
            cur.execute("INSERT INTO ateria (paiva, ruoka) VALUES(?, ?)", (pvm, ruokastring))
            con.commit()

# luodaan myös tykkäyksille oma taulu
cur.execute("CREATE TABLE tykkaykset(id integer primary key, ruokaid integer)")
con.commit()
con.close()