mirror of
https://github.com/wolfswolke/DeathGarden_API_Rebirth.git
synced 2026-03-21 17:54:09 -05:00
149 lines
4.2 KiB
Python
149 lines
4.2 KiB
Python
import json
|
|
import os
|
|
import sys
|
|
output = []
|
|
|
|
|
|
def create_structure(id, display_name, currency, price, tag):
|
|
gameplay_tag = tag[1]
|
|
parent_tag = tag[0]
|
|
return_val = {
|
|
"Id":id,
|
|
"DisplayName":display_name,
|
|
"Purchasable":True,
|
|
"Consumable":False,
|
|
"IsWeapon":False,
|
|
"InitialQuantity":1,
|
|
"DefaultCost":[
|
|
{
|
|
"CurrencyId":currency,
|
|
"Price":price
|
|
}
|
|
],
|
|
"MetaData":{
|
|
"GameplayTags":[
|
|
{
|
|
"TagName":gameplay_tag
|
|
}
|
|
],
|
|
"MinPlayerLevel":1,
|
|
"MinCharacterLevel":1,
|
|
"Origin":"None"
|
|
},
|
|
"Faction":"Runner",
|
|
"GameplayTagContainer":{
|
|
"GameplayTags":[
|
|
{
|
|
"TagName": parent_tag
|
|
}
|
|
],
|
|
"ParentTags":[
|
|
{
|
|
"TagName":gameplay_tag
|
|
}
|
|
]
|
|
}
|
|
}
|
|
global output
|
|
output.append(return_val)
|
|
|
|
|
|
def create_structure_Vambraces(guid, display_name, currency_id, price, tag, faction):
|
|
|
|
gameplay_tag = tag[1]
|
|
parent_tag = tag[0]
|
|
return_val = {
|
|
"Id":guid,
|
|
"DisplayName":display_name,
|
|
"Purchasable":True,
|
|
"Consumable":False,
|
|
"IsWeapon":False,
|
|
"InitialQuantity":1,
|
|
"DefaultCost":[
|
|
{
|
|
"CurrencyId":currency_id,
|
|
"Price":price
|
|
}
|
|
],
|
|
"MetaData":{
|
|
"GameplayTags":[
|
|
{
|
|
"TagName":parent_tag
|
|
}
|
|
],
|
|
"MinPlayerLevel":1,
|
|
"MinCharacterLevel":1,
|
|
"Origin":"None"
|
|
},
|
|
"Faction":"Runner",
|
|
"GameplayTagContainer":{
|
|
"GameplayTags":[
|
|
{
|
|
"TagName": parent_tag
|
|
}
|
|
],
|
|
"ParentTags":[
|
|
{
|
|
"TagName":gameplay_tag
|
|
}
|
|
]
|
|
},
|
|
"CustomizationGameplayTagByFaction": [
|
|
"Runner",
|
|
{
|
|
"TagName": faction
|
|
}
|
|
],
|
|
"Gender": "Male"
|
|
}
|
|
global output
|
|
output.append(return_val)
|
|
|
|
|
|
def get_json(data):
|
|
try:
|
|
for item in data:
|
|
try:
|
|
guid = item["Properties"]["Guid"]
|
|
tag_container = item["Properties"]["TagContainer"]
|
|
try:
|
|
currency_id = item["Properties"]["DefaultCost"][0]["CurrencyId"]
|
|
price = item["Properties"]["DefaultCost"][0]["Price"]
|
|
except KeyError:
|
|
currency_id = "CurrencyA"
|
|
price = 10
|
|
display_name = item["Properties"]["DisplayName"]["Key"]
|
|
create_structure(guid, display_name, currency_id, price, tag_container)
|
|
except KeyError as e:
|
|
if e == "Properties":
|
|
guid = item["Guid"]
|
|
tag_container = item["TagContainer"]
|
|
try:
|
|
currency_id = item["DefaultCost"][0]["CurrencyId"]
|
|
price = item["DefaultCost"][0]["Price"]
|
|
except KeyError:
|
|
currency_id = "CurrencyA"
|
|
price = 10
|
|
display_name = item["DisplayName"]["Key"]
|
|
faction = item["TagQuery"]["TagDictionary"]["TagName"]
|
|
create_structure_Vambraces(guid, display_name, currency_id, price, tag_container, faction)
|
|
except Exception as e:
|
|
print("Error Type: {}".format(type(e)), file=sys.stderr)
|
|
print("Error: {}".format(e), file=sys.stderr)
|
|
return None
|
|
|
|
except Exception as e:
|
|
print("Error Type: {}".format(type(e)), file=sys.stderr)
|
|
print("Error: {}".format(e), file=sys.stderr)
|
|
return None
|
|
|
|
|
|
if __name__ == "__main__":
|
|
for items in os.listdir("./ItemsToParse"):
|
|
with open("./ItemsToParse/" + items, "r") as file:
|
|
print("Start parsing file: {}".format(items), file=sys.stdout)
|
|
data = json.load(file)
|
|
get_json(data)
|
|
print(output)
|
|
|