-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.py
62 lines (51 loc) · 1.8 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
from sys import exit
from time import sleep
from src.utilities.terminal import Terminal
from src.poke_ranking_handler import PokeRankingHandler
from src.poke_move_handler import PokeMoveHandler
class PokemonCLI:
def __init__(self):
self.options = {
'1': self.get_pokemon_list,
'2': self.get_moves_list,
'3': self.get_pokemon_and_moves,
'4': self.exit_program
}
def get_pokemon_list(self):
Terminal.info("Iniciando a busca pelo ranking dos melhores Pokémon.")
PokeRankingHandler().run()
Terminal.success("Ranking criado com sucesso!")
def get_moves_list(self):
Terminal.info("Iniciando a busca por golpes.")
PokeMoveHandler().run()
Terminal.success("Lista de golpes criada com sucesso!")
def get_pokemon_and_moves(self):
self.get_moves_list()
self.get_pokemon_list()
def exit_program(self):
Terminal.info("Saindo do programa. Até a proxima!")
exit(0)
def display_menu(self):
print("\nPor favor, escolha uma opção:")
print("1. Obter lista de Pokémon")
print("2. Obter lista de golpes de Pokémon")
print("3. Obter ambas as listas de Pokémon e golpes")
print("4. Cancelar e sair")
def run(self):
while True:
Terminal.clear()
self.display_menu()
choice = input("Digite sua escolha (1-4): ")
action = self.options.get(choice)
if action:
action()
break
else:
Terminal.warning(
"Escolha inválida, por favor,",
"insira um número entre 1 e 4."
)
sleep(3)
if __name__ == "__main__":
cli = PokemonCLI()
cli.run()