ソースを参照

cleanup pokedex reformat

Kirk Trombley 2 年 前
コミット
49d02618ef
1 ファイル変更8 行追加11 行削除
  1. 8 11
      tools/download.py

+ 8 - 11
tools/download.py

@@ -145,15 +145,13 @@ def clean_dex(raw: dict) -> dict[int, Pokemon]:
         "formeKind": entry.get("forme", "base").lower(),
       })
 
-  cleaned = {}
-  for i in range(1, max(regrouped.keys()) + 1):
-    forms = regrouped[i]
-    # double check there's no skipped or duped entries
-    assert len(forms) > 0 and i not in cleaned
-    species = forms[0].get("baseSpecies", forms[0]["name"])
-    cleaned[i] = Pokemon(
+  return {
+    i: Pokemon(
       num=i,
-      species=species,
+      species=(
+        # doubles as an assertion that forms is not empty
+        species := (forms := regrouped[i])[0].get("baseSpecies", forms[0]["name"])
+      ),
       forms=[
         Form(
           name=f.get("forme", f["name"]),
@@ -162,9 +160,8 @@ def clean_dex(raw: dict) -> dict[int, Pokemon]:
           color=f["color"],
         ) for f in forms
       ]
-    )
-
-  return cleaned
+    ) for i in range(1, max(regrouped.keys()) + 1)
+  }
 
 
 async def main(dex_file: str):