diff --git a/scripts/import_data.py b/scripts/import_data.py new file mode 100644 index 0000000..7448e56 --- /dev/null +++ b/scripts/import_data.py @@ -0,0 +1,50 @@ +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()