PokeAPI / pokedex

PokeAPI's fork for adding gen-8 data.
https://github.com/PokeAPI/pokedex/tree/master-pokeapi/pokeapi
MIT License
43 stars 40 forks source link

Support dusk time of day #114

Closed giginet closed 2 years ago

giginet commented 2 years ago

Problems

$ pokedex dump -l all

Dumping pokedex raises an error.

Due to adding dusk time to pokemon_evolutions.csv on this PR. https://github.com/PokeAPI/pokedex/pull/86/files#diff-210bb2afa29e0127d5de597064d990d4daf2d5916d30810a5240a6145a1d5880R459

This change causes an error to parse time_of_day enum.

Show the stack trace for details.

Changes

I added dusk time to the enum.

Context

According to the Pokémon wiki. In 8th generation, Lycanroc (Dusk Form) is evolved in dusk time. So a new enum value is added. https://bulbapedia.bulbagarden.net/wiki/Lycanroc_(Pok%C3%A9mon)#Generation_VIII

pokemon_evolution...                                                 Traceback (most recent call last):
  File "/Users/giginet/.pyenv/versions/3.10.0/lib/python3.10/site-packages/sqlalchemy/sql/sqltypes.py", line 1651, in _object_value_for_elem
    return self._object_lookup[elem]
KeyError: 'dusk'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/giginet/.pyenv/versions/3.10.0/bin/pokedex", line 33, in <module>
    sys.exit(load_entry_point('Pokedex', 'console_scripts', 'pokedex')())
  File "/Users/giginet/.ghq/github.com/PokeAPI/pokedex/pokedex/main.py", line 28, in setuptools_entry
    main(*sys.argv)
  File "/Users/giginet/.ghq/github.com/PokeAPI/pokedex/pokedex/main.py", line 24, in main
    args.func(parser, args)
  File "/Users/giginet/.ghq/github.com/PokeAPI/pokedex/pokedex/main.py", line 215, in command_dump
    pokedex.db.load.dump(
  File "/Users/giginet/.ghq/github.com/PokeAPI/pokedex/pokedex/db/load.py", line 473, in dump
    for row in session.query(table).order_by(*primary_key).all():
  File "/Users/giginet/.pyenv/versions/3.10.0/lib/python3.10/site-packages/sqlalchemy/orm/query.py", line 2768, in all
    return self._iter().all()
  File "/Users/giginet/.pyenv/versions/3.10.0/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 1077, in all
    return self._allrows()
  File "/Users/giginet/.pyenv/versions/3.10.0/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 401, in _allrows
    rows = self._fetchall_impl()
  File "/Users/giginet/.pyenv/versions/3.10.0/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 1696, in _fetchall_impl
    return list(self.iterator)
  File "/Users/giginet/.pyenv/versions/3.10.0/lib/python3.10/site-packages/sqlalchemy/orm/loading.py", line 147, in chunks
    fetch = cursor._raw_all_rows()
  File "/Users/giginet/.pyenv/versions/3.10.0/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 393, in _raw_all_rows
    return [make_row(row) for row in rows]
  File "/Users/giginet/.pyenv/versions/3.10.0/lib/python3.10/site-packages/sqlalchemy/engine/result.py", line 393, in <listcomp>
    return [make_row(row) for row in rows]
  File "/Users/giginet/.pyenv/versions/3.10.0/lib/python3.10/site-packages/sqlalchemy/sql/sqltypes.py", line 1770, in process
    value = self._object_value_for_elem(value)
  File "/Users/giginet/.pyenv/versions/3.10.0/lib/python3.10/site-packages/sqlalchemy/sql/sqltypes.py", line 1653, in _object_value_for_elem
    util.raise_(
  File "/Users/giginet/.pyenv/versions/3.10.0/lib/python3.10/site-packages/sqlalchemy/util/compat.py", line 208, in raise_
    raise exception
LookupError: 'dusk' is not among the defined enum values. Enum name: pokemon_evolution_time_of_day. Possible values: day, night
Naramsim commented 2 years ago

Hi, thanks for the PR!