import json import sqlite3 import uuid RARITY_MAPPING = { "Consumer": 0, "Industrial": 1, "Mil-spec": 2, "Restricted": 3, "Classified": 4, "Covert": 5, "Contraband": 6 } with open("items.json", "r") as f: items = json.load(f) rcases = [] for item in items: item_cases = item["cases"] rcases.extend(item_cases) cases = [] for case in rcases: if case not in cases: cases.append(case) conn = sqlite3.connect("database.db") cur = conn.cursor() for case in cases: uid = uuid.uuid4() image = "/images/cases/" + case["img_url"].split("/")[-1] case_id = conn.execute("INSERT INTO cases ('uuid', 'name', 'image', 'price') VALUES (?, ?, ?, ?) RETURNING id", [str(uid), case["name"], image, case["price"]]).fetchone() case["id"] = case_id[0] for item in items: uid = uuid.uuid4() image = "/images/items/" + item["img_url"].split("/")[-1] item_id = conn.execute( "INSERT INTO items ('uuid', 'name', 'rarity', 'image', 'price') VALUES (?, ?, ?, ?, ?) RETURNING id", [str(uid), item["name"], RARITY_MAPPING[item["rarity"]], image, item["price"]]).fetchone() for case in item["cases"]: for rcase in cases: if rcase["name"] == case["name"]: bcase = rcase conn.execute("INSERT INTO items_cases ('item', 'case') VALUES (?, ?)", [item_id[0], bcase["id"]]) conn.commit()