|
@@ -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):
|