mirror of
https://github.com/sebastiandine/Card-Collection-Manager-3.git
synced 2026-08-28 17:01:02 +00:00
82 lines
2.1 KiB
Python
82 lines
2.1 KiB
Python
#!/usr/bin/env python3
|
|
"""Scaffold ETL for Japanese Pokémon EN catalog JSON.
|
|
|
|
Seed mode (default) writes a small valid catalog matching the committed asset
|
|
schema. Extend this script to pull TCGdex + Bulbapedia joins for full coverage.
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
import argparse
|
|
import json
|
|
from pathlib import Path
|
|
|
|
SEED = {
|
|
"sets": {
|
|
"PMCG1": {
|
|
"name_en": "Expansion Pack",
|
|
"name_ja": "拡張パック",
|
|
"releaseDate": "1996/10/20",
|
|
},
|
|
"PMCG2": {
|
|
"name_en": "Pokémon Jungle",
|
|
"name_ja": "ポケモンジャングル",
|
|
"releaseDate": "1997/03/14",
|
|
},
|
|
"SV1a": {
|
|
"name_en": "Triplet Beat",
|
|
"name_ja": "トリプレットビート",
|
|
"releaseDate": "2023/03/10",
|
|
},
|
|
"SV4a": {
|
|
"name_en": "Shiny Treasure ex",
|
|
"name_ja": "シャイニートレジャーex",
|
|
"releaseDate": "2023/11/10",
|
|
},
|
|
},
|
|
"prints": [
|
|
{
|
|
"set_id": "PMCG1",
|
|
"local_id": "014",
|
|
"name_en": "Charmander",
|
|
"name_ja": "ヒトカゲ",
|
|
"name_en_source": "bulbapedia",
|
|
},
|
|
{
|
|
"set_id": "PMCG1",
|
|
"local_id": "021",
|
|
"name_en": "Charizard",
|
|
"name_ja": "リザードン",
|
|
"name_en_source": "bulbapedia",
|
|
},
|
|
{
|
|
"set_id": "SV1a",
|
|
"local_id": "001",
|
|
"name_en": "Tropius",
|
|
"name_ja": "トロピウス",
|
|
"name_en_source": "bulbapedia",
|
|
},
|
|
],
|
|
}
|
|
|
|
|
|
def main() -> None:
|
|
parser = argparse.ArgumentParser(description=__doc__)
|
|
parser.add_argument(
|
|
"--out",
|
|
type=Path,
|
|
default=Path("ui_wx/assets/pokemon_jp_en_catalog.json"),
|
|
help="Output catalog path",
|
|
)
|
|
args = parser.parse_args()
|
|
args.out.parent.mkdir(parents=True, exist_ok=True)
|
|
args.out.write_text(
|
|
json.dumps(SEED, ensure_ascii=False, indent=2) + "\n",
|
|
encoding="utf-8",
|
|
)
|
|
print(f"Wrote seed catalog to {args.out}")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|