Created script to import all data into database
This commit is contained in:
50
scripts/import_data.py
Normal file
50
scripts/import_data.py
Normal file
@@ -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()
|
||||||
Reference in New Issue
Block a user