11"""Pokemon management CLI commands."""
22
3-
43import typer
54from rich import box
65from rich .console import Console
@@ -28,7 +27,7 @@ def show_team() -> None:
2827@app .command ("box" )
2928def show_box (
3029 page : int = typer .Option (1 , "--page" , "-p" , help = "Page number" ),
31- per_page : int = typer .Option (20 , "--limit" , "-l" , help = "Pokemon per page" )
30+ per_page : int = typer .Option (20 , "--limit" , "-l" , help = "Pokemon per page" ),
3231) -> None :
3332 """Show all Pokemon in your box."""
3433 all_pokemon = db .get_all_pokemon ()
@@ -58,10 +57,7 @@ def pokemon_info(
5857
5958
6059def render_pokedex (
61- caught_only : bool = False ,
62- page : int = 1 ,
63- gen : int = 0 ,
64- auto_focus : bool = False
60+ caught_only : bool = False , page : int = 1 , gen : int = 0 , auto_focus : bool = False
6561) -> None :
6662 """Render the Pokedex view for both CLI commands and shortcuts."""
6763 from pokedo .utils .config import config
@@ -85,7 +81,7 @@ def render_pokedex(
8581 if auto_focus and entries and page == 1 :
8682 focus_index = next (
8783 (i for i , entry in enumerate (entries ) if entry .is_caught ),
88- next ((i for i , entry in enumerate (entries ) if entry .is_seen ), 0 )
84+ next ((i for i , entry in enumerate (entries ) if entry .is_seen ), 0 ),
8985 )
9086 page = (focus_index // per_page ) + 1
9187
@@ -121,25 +117,33 @@ def render_pokedex(
121117 table .add_row (
122118 f"{ entry .pokedex_id :04d} " ,
123119 name ,
124- f"[{ type_color } ]{ entry .type1 .capitalize ()} [/{ type_color } ]" if entry .is_seen else "[dim]???[/dim]" ,
120+ (
121+ f"[{ type_color } ]{ entry .type1 .capitalize ()} [/{ type_color } ]"
122+ if entry .is_seen
123+ else "[dim]???[/dim]"
124+ ),
125125 caught_str ,
126- shiny_str
126+ shiny_str ,
127127 )
128128
129129 console .print (table )
130130
131131 if gen > 0 and gen in config .generation_ranges :
132132 gen_total = config .generation_ranges [gen ][1 ] - config .generation_ranges [gen ][0 ] + 1
133- console .print (f"\n [dim]Gen { gen } : Seen { total_seen } /{ gen_total } | Caught { total_caught } /{ gen_total } [/dim]" )
133+ console .print (
134+ f"\n [dim]Gen { gen } : Seen { total_seen } /{ gen_total } | Caught { total_caught } /{ gen_total } [/dim]"
135+ )
134136 else :
135- console .print (f"\n [dim]Seen: { total_seen } /{ total_pokemon } | Caught: { total_caught } /{ total_pokemon } ({ (total_caught / total_pokemon )* 100 :.1f} %)[/dim]" )
137+ console .print (
138+ f"\n [dim]Seen: { total_seen } /{ total_pokemon } | Caught: { total_caught } /{ total_pokemon } ({ (total_caught / total_pokemon )* 100 :.1f} %)[/dim]"
139+ )
136140
137141
138142@app .command ("pokedex" )
139143def show_pokedex (
140144 caught_only : bool = typer .Option (False , "--caught" , "-c" , help = "Show only caught Pokemon" ),
141145 page : int = typer .Option (1 , "--page" , "-p" , help = "Page number" ),
142- gen : int = typer .Option (0 , "--gen" , "-g" , help = "Filter by generation (1-9)" )
146+ gen : int = typer .Option (0 , "--gen" , "-g" , help = "Filter by generation (1-9)" ),
143147) -> None :
144148 """Show your Pokedex progress."""
145149 render_pokedex (caught_only = caught_only , page = page , gen = gen )
@@ -191,7 +195,7 @@ def remove_active(
191195@app .command ("nickname" )
192196def set_nickname (
193197 pokemon_id : int = typer .Argument (..., help = "Pokemon ID" ),
194- nickname : str = typer .Argument (..., help = "New nickname" )
198+ nickname : str = typer .Argument (..., help = "New nickname" ),
195199) -> None :
196200 """Give a Pokemon a nickname."""
197201 pokemon = db .get_pokemon (pokemon_id )
@@ -206,9 +210,7 @@ def set_nickname(
206210
207211
208212@app .command ("favorite" )
209- def toggle_favorite (
210- pokemon_id : int = typer .Argument (..., help = "Pokemon ID" )
211- ) -> None :
213+ def toggle_favorite (pokemon_id : int = typer .Argument (..., help = "Pokemon ID" )) -> None :
212214 """Toggle favorite status on a Pokemon."""
213215 pokemon = db .get_pokemon (pokemon_id )
214216 if not pokemon :
@@ -225,7 +227,7 @@ def toggle_favorite(
225227@app .command ("release" )
226228def release_pokemon (
227229 pokemon_id : int = typer .Argument (..., help = "Pokemon ID to release" ),
228- force : bool = typer .Option (False , "--force" , "-f" , help = "Skip confirmation" )
230+ force : bool = typer .Option (False , "--force" , "-f" , help = "Skip confirmation" ),
229231) -> None :
230232 """Release a Pokemon back into the wild."""
231233 pokemon = db .get_pokemon (pokemon_id )
@@ -251,9 +253,7 @@ def release_pokemon(
251253
252254
253255@app .command ("evolve" )
254- def evolve_pokemon (
255- pokemon_id : int = typer .Argument (..., help = "Pokemon ID to evolve" )
256- ) -> None :
256+ def evolve_pokemon (pokemon_id : int = typer .Argument (..., help = "Pokemon ID to evolve" )) -> None :
257257 """Evolve a Pokemon if eligible."""
258258 pokemon = db .get_pokemon (pokemon_id )
259259 if not pokemon :
@@ -263,7 +263,9 @@ def evolve_pokemon(
263263 if not pokemon .can_evolve :
264264 console .print (f"[yellow]{ pokemon .display_name } cannot evolve right now.[/yellow]" )
265265 if pokemon .evolution_id and pokemon .evolution_level :
266- console .print (f"[dim]Needs to reach level { pokemon .evolution_level } . Current: { pokemon .level } [/dim]" )
266+ console .print (
267+ f"[dim]Needs to reach level { pokemon .evolution_level } . Current: { pokemon .level } [/dim]"
268+ )
267269 raise typer .Exit (0 )
268270
269271 if not pokemon .evolution_id :
@@ -272,9 +274,7 @@ def evolve_pokemon(
272274
273275 # Create evolved Pokemon
274276 evolved = create_pokemon_sync (
275- pokemon .evolution_id ,
276- is_shiny = pokemon .is_shiny ,
277- catch_location = pokemon .catch_location
277+ pokemon .evolution_id , is_shiny = pokemon .is_shiny , catch_location = pokemon .catch_location
278278 )
279279
280280 if not evolved :
@@ -313,5 +313,7 @@ def evolve_pokemon(
313313 trainer .evolutions_triggered += 1
314314 db .save_trainer (trainer )
315315
316- console .print (f"[bold green]{ pokemon .display_name } evolved into { evolved .name .upper ()} ![/bold green]" )
316+ console .print (
317+ f"[bold green]{ pokemon .display_name } evolved into { evolved .name .upper ()} ![/bold green]"
318+ )
317319 display_pokemon (evolved )
0 commit comments