Files
data/skins.py

74 lines
2.1 KiB
Python

import psycopg2, json
"""
CREATE TABLE IF NOT EXISTS skins (
id uuid DEFAULT gen_random_uuid() PRIMARY KEY,
weapon uuid REFERENCES weapons(id) NOT NULL,
rarity uuid REFERENCES rarity(id) NOT NULL,
paint_index integer NOT NULL,
display varchar NOT NULL,
min_float float NOT NULL,
max_float float NOT NULL,
legacy boolean NOT NULL
);
"""
conn = psycopg2.connect("dbname=porning user=aindustries")
cur = conn.cursor()
cur.execute("SELECT * FROM weapons")
raw_weapons = cur.fetchall()
weapons = {weapon[1]: weapon for weapon in raw_weapons}
cur.execute("SELECT * FROM rarity")
raw_rarity = cur.fetchall()
rarity = {rarity[1]: rarity[0] for rarity in raw_rarity}
with open("skins.json", "r") as f:
content = json.load(f)
skins = []
for raw in content:
if "sfui_wpnhud" in raw["weapon"]["id"]:
continue
skin = {
"weapon": weapons[raw["weapon"]["id"]][0],
"rarity": rarity[raw["rarity"]["name"]],
"paint_index": raw["paint_index"],
"display": raw["pattern"]["name"],
"min_float": raw["min_float"],
"max_float": raw["max_float"],
"legacy": raw["legacy_model"],
"default": False
}
skins.append(skin)
default_weapons = ["weapon_knife_t", "weapon_knife", "t_gloves", "ct_gloves"]
for weapon in weapons.values():
if weapon[4] == "Gloves" and not "Default" in weapon[2]:
continue
default = weapon[1] in default_weapons or ("weapon" in weapon[1] and not "knife" in weapon[1])
skin = {
"weapon": weapon[0],
"rarity": rarity["Stock"],
"paint_index": 0,
"display": "",
"min_float": 0,
"max_float": 0,
"legacy": True,
"default": default
}
skins.append(skin)
for skin in skins:
cur.execute("INSERT INTO skins (weapon, rarity, paint_index, display, min_float, max_float, legacy, \"default\") VALUES (%s, %s, %s, %s, %s, %s, %s, %s)", (skin["weapon"], skin["rarity"], skin["paint_index"], skin["display"], skin["min_float"], skin["max_float"], skin["legacy"], skin["default"]))
conn.commit()
cur.close()
conn.close()