def update_coinach(monsters, reader): notorious_keys = ["#", "BNpcBase", "Rank", "BNpcName"] notorious = csv_util.make_map(reader.rawexd("NotoriousMonster"), notorious_keys) languages = ["en", "de", "fr", "ja"] for locale in languages: name_map = csv_util.make_map(reader.exd("BNpcName", lang=locale), ["#", "Singular"]) parse_data(monsters, notorious, locale, name_map) return monsters
def make_territory_map(contents): inputs = [ "#", 11, "PlaceName", "Name", "WeatherRate", "Map", "TerritoryIntendedUse" ] outputs = [ "territory_id", "cfc_id", "place_id", "name", "weather_rate", "map_id", "territory_intended_use", ] return csv_util.make_map(contents, inputs, outputs)
def make_content_type_map(contents): inputs = ["#", "Name"] outputs = ["content_type_id", "name"] return csv_util.make_map(contents, inputs, outputs)
def make_map_map(contents): inputs = ["#", "SizeFactor", "Offset{X}", "Offset{Y}"] outputs = ["map_id", "size_factor", "offset_x", "offset_y"] return csv_util.make_map(contents, inputs, outputs)
def make_cfc_map(contents): inputs = ["#", "TerritoryType", "Name", "ContentType"] outputs = ["cfc_id", "territory_id", "name", "content_type_id"] return csv_util.make_map(contents, inputs, outputs)
def make_place_name_map(contents): inputs = ["#", "Name"] outputs = ["place_id", "place_name"] return csv_util.make_map(contents, inputs, outputs)
#!/usr/bin/env python import coinach import csv import csv_util import os _OUTPUT_FILE = "pet_names.ts" if __name__ == "__main__": keys = ["Name"] tables = {} for lang in ["en", "fr", "de", "ja"]: reader = coinach.CoinachReader(verbose=True) tables[lang] = csv_util.make_map(reader.exd("Pet", lang=lang), keys) tables["cn"] = csv_util.get_cn_table("Pet", keys) tables["ko"] = csv_util.get_ko_table("Pet", keys) tables = { lang: [name for name in table.keys() if name] for lang, table in tables.items() } writer = coinach.CoinachWriter(verbose=True) header = """import { Lang } from '../types/global'; type PetData = { [name in Lang]: readonly string[]; };""" writer.writeTypeScript(