mirror of
https://github.com/Gurkengewuerz/nitro-docker.git
synced 2024-11-26 17:50:52 +01:00
feat: use productdata as input and use classnames
This commit is contained in:
parent
d9c04c1bd4
commit
3b78849b23
@ -19,19 +19,29 @@ def sqlescape(str):
|
||||
}))
|
||||
|
||||
|
||||
known_names = []
|
||||
|
||||
todo_types = ["roomitemtypes", "wallitemtypes"]
|
||||
|
||||
# Load the JSON data from the file
|
||||
with open("../assets/gamedata/FurnitureData.json", encoding='utf-8') as f:
|
||||
data = json.load(f)
|
||||
|
||||
with open("catalog_items.sql", "w", encoding='utf-8') as f:
|
||||
for todo_type in todo_types:
|
||||
for furni in data[todo_type]["furnitype"]:
|
||||
furni_id = furni["id"]
|
||||
if furni["name"]:
|
||||
# get rid of any unwanted characters for sql and remove non latin-1 characters
|
||||
# check the collation of the table
|
||||
furni_name = sqlescape(furni["name"][:55]).encode("latin-1", "ignore").decode("utf-8")
|
||||
f.write(f"UPDATE catalog_items SET catalog_name = '{furni_name}' WHERE item_ids = '{furni_id}';\n")
|
||||
#f.write(f"UPDATE items_base SET public_name = '{furni_name}' WHERE id = '{furni_id}';\n")
|
||||
known_names.append({"name": furni["name"], "classname": furni["classname"]})
|
||||
|
||||
with open("../assets/gamedata/ProductData.json", encoding='utf-8') as f:
|
||||
data = json.load(f)
|
||||
for furni in data["productdata"]["product"]:
|
||||
known_names.append({"name": furni["name"], "classname": furni["code"]})
|
||||
|
||||
with open("catalog_items.sql", "w", encoding='utf-8') as f:
|
||||
for furni in known_names:
|
||||
# get rid of any unwanted characters for sql and remove non latin-1 characters
|
||||
# check the collation of the table
|
||||
if furni["name"] is None:
|
||||
continue
|
||||
furni_name = sqlescape(furni["name"].encode("latin-1", "ignore").decode("latin-1"))[:55]
|
||||
classname = sqlescape(furni["classname"].encode("latin-1", "ignore").decode("latin-1"))
|
||||
#f.write(f"UPDATE catalog_items ci SET ci.catalog_name = '{furni_name}' WHERE item_ids IN (SELECT CAST(id AS CHAR) FROM items_base WHERE item_name = '{classname}');\n")
|
||||
f.write(f"UPDATE catalog_items ci, (SELECT CAST(id AS CHAR) as id, item_name FROM items_base WHERE item_name = '{classname}') item SET ci.catalog_name = '{furni_name}' WHERE ci.item_ids = item.id;\n")
|
Loading…
Reference in New Issue
Block a user