From 45e901cd90c0875ac0dbc603420db0f227545fd2 Mon Sep 17 00:00:00 2001 From: Gordon Tyler Date: Thu, 14 Feb 2019 19:21:07 -0500 Subject: [PATCH] Script for adding other languages to existing output files. This can be used to update an existing set of output files with new translations for the additional languages like Korean and Chinese, without having to rerun the main scraper script. --- add_other_lang.py | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 add_other_lang.py diff --git a/add_other_lang.py b/add_other_lang.py new file mode 100644 index 0000000..2558ef0 --- /dev/null +++ b/add_other_lang.py @@ -0,0 +1,37 @@ +import json +import sys + + +CLASSES = [ + "Carpenter", + "Blacksmith", + "Armorer", + "Goldsmith", + "Leatherworker", + "Weaver", + "Alchemist", + "Culinarian", +] + + +def main(): + additional_languages = {} + for arg in sys.argv[1:]: + lang, path = arg.split("=", 2) + with open(path, mode="rt", encoding="utf-8") as fp: + print(f"Loading additional language '{lang}' from: {path}") + additional_languages[lang] = json.load(fp) + for cls in CLASSES: + with open(f"out/{cls}.json", mode="rt", encoding="utf-8") as fp: + recipes = json.load(fp) + for recipe in recipes: + for lang in additional_languages.keys(): + names = additional_languages[lang] + english_name = recipe['name']['en'] + recipe['name'][lang] = names.get(english_name) or english_name + with open(f"out/{cls}.json", mode="wt", encoding="utf-8") as db_file: + json.dump(recipes, db_file, indent=2, sort_keys=True, ensure_ascii=False) + + +if __name__ == '__main__': + main()