mirror of
https://github.com/Kvan7/Exiled-Exchange-2.git
synced 2026-05-06 01:11:28 +00:00
850fa90455
* [Parse Error] - Rarity: Magic #285 (#315) * Add in fix Co-authored-by: @vagrant-soul * Adds regression tests * Features/uniqueRollsRewrite (#316) * update with new rolls system * More or less working now * adds fix for some stats from json having + * Features/jewels (#317) * Fix help text on jewels * Add fix for shock * [Not Recognized Modifier] - (most monster map modifiers) #314 * Features/showItemOnHover (#322) * Move row into own component * add tooltip on shift and hover * works MVP * style and fix affix strings * pseudo add * change tooltip method to more dynamic * Corrupted back to red * style updates * Add option for tooltip in settings * Features/relics (#323) * update en strings * translation client strings * Fix relic parse error * Tag text * enable relic filters by default * add spanish? (#324) Co-authored-by: @mgallego * Divider line shows when it shouldn't on non weapons or armour #325 * Features/newRunes (#326) * Rip out old rune code * final removed stuff? * change filter back to number * use new rune filter * done runes * Remove alpha * Features/runeSocketsPart4 (#327) * some stat change is working * iron working? * new betterer way? * DONE DONE DONE * add translation line * version bump
53 lines
1.9 KiB
Python
53 lines
1.9 KiB
Python
import json
|
|
import os
|
|
|
|
SUPPORTED_LANG = ("en", "ru", "ko", "cmn-Hant", "ja", "de", "es")
|
|
|
|
|
|
def get_script_dir(lang="en"):
|
|
"""Returns the directory where the script is located."""
|
|
return os.path.dirname(os.path.realpath(__file__)) + "/" + lang
|
|
|
|
|
|
def read_ndjson(file_path, encoding="utf-8"):
|
|
"""Reads a newline-delimited JSON file and returns a list of parsed JSON objects."""
|
|
with open(file_path, "r", encoding=encoding) as file:
|
|
return [json.loads(line) for line in file]
|
|
|
|
|
|
def write_ndjson(file_path, data):
|
|
"""Writes a list of JSON objects to a newline-delimited JSON file."""
|
|
with open(file_path, "w", encoding="utf-8") as file:
|
|
for item in data:
|
|
file.write(json.dumps(item, ensure_ascii=False) + "\n")
|
|
|
|
|
|
def update_icons(new_items, old_items):
|
|
"""Update icons in new_items if they are missing and present in old_items."""
|
|
old_icons = {item["refName"]: item["icon"] for item in old_items if "icon" in item}
|
|
|
|
for new_item in new_items:
|
|
ref_name = new_item["refName"]
|
|
if new_item.get("icon") == "%NOT_FOUND%" and ref_name in old_icons:
|
|
new_item["icon"] = old_icons[ref_name]
|
|
|
|
return new_items
|
|
|
|
|
|
if __name__ == "__main__":
|
|
for lang in SUPPORTED_LANG:
|
|
# Determine the directory this script is in
|
|
script_dir = get_script_dir(lang)
|
|
|
|
print(script_dir)
|
|
|
|
# Load the old and new items from the respective files in the script's directory
|
|
old_items = read_ndjson(os.path.join(script_dir, "items.ndjson.old"))
|
|
new_items = read_ndjson(os.path.join(script_dir, "items.ndjson"))
|
|
|
|
# Update new_items with icons from old_items where applicable
|
|
updated_new_items = update_icons(new_items, old_items)
|
|
|
|
# Write the updated new items back to the new file or a new file as needed
|
|
write_ndjson(os.path.join(script_dir, "items.ndjson"), updated_new_items)
|