init
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
import prompt_toolkit as pt
|
||||
from prompt_toolkit.completion import WordCompleter, FuzzyCompleter
|
||||
|
||||
def generate_completer(game_list):
|
||||
g_list = [x['name'] for x in game_list] + [x['appid'] for x in game_list]
|
||||
return FuzzyCompleter(WordCompleter(g_list))
|
||||
|
||||
class PromptHelper:
|
||||
def __init__(self, game_list):
|
||||
self.game_list = game_list
|
||||
self.completer = generate_completer(game_list)
|
||||
|
||||
def find_game_str(self, game_name):
|
||||
for game in self.game_list:
|
||||
if game['name'] == game_name:
|
||||
return game
|
||||
def find_game_num(self, appid: int):
|
||||
for game in self.game_list:
|
||||
if game['appid'] == appid:
|
||||
return game
|
||||
|
||||
def prompt_game(self, text, default="None"):
|
||||
response = pt.prompt(text, completer=self.completer, complete_while_typing=True)
|
||||
if response == "":
|
||||
return None
|
||||
elif response[0].isalpha():
|
||||
return self.find_game_str(response)
|
||||
else:
|
||||
return self.find_game_num(int(response))
|
||||
Reference in New Issue
Block a user