51 lines
1.4 KiB
Python
51 lines
1.4 KiB
Python
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()
|