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