def add_player(self): """ Display the add_player menu Loop for each information to retrieve Name (name), Firstname (firstname), Date of Birth (dob), Sex (_genre) Then create a new player and save the list. """ title = "Bienvenue dans le gestionnaire de tournois d'échec.\nAjout d'un joueur" subtitle = "Saisir dans l'ordre :\n" menu = { 1: ('', "Nom du joueur"), 2: ('', "Prénom du joueur"), 3: ('', "Date de naissance (Format dd/mm/aaaa)"), 4: ('', "Sexe (H/F)") } self.view_menu.display_menu(title=title, subtitle=subtitle, question=menu) choice = ('name', 'first_name', 'dob', '_genre') response = [] for i in range(4): if 0 <= i <= 1: # pour les question nom et prénom valid = self.ask_and_store_text(menu[i + 1][1] + ' : ') while not valid[0]: valid = self.ask_and_store_text(menu[i + 1][1] + ' : ') response.append(valid[1]) elif i == 2: # pour la date de naissance valid = self.view_menu.input(menu[i + 1][1] + ' : ') while not self._control_user_input("dob", valid): valid = self.view_menu.input(menu[i + 1][1] + ' : ') response.append(valid) elif i == 3: # pour la saisie du genre valid = self.view_menu.input(menu[i + 1][1] + ' : ') while not self._control_user_input("_genre", valid): valid = self.view_menu.input(menu[i + 1][1] + ' : ') response.append(valid) res = dict(zip(choice, response)) Player(**res) Player.save_all_players() self.menu_players()
def remove_player_tournament(self): """ Method to remove the active status from the tournament 1° Request the name and firstname of the player 2° Search for the player if he is not already inactive in the tournament 3° Request validation of the inactive status for the tournament """ player = self.found_specific_player() if player is not None: if not player.status: self.view_menu.stand_by_msg( "Attention {} {} n'est pas inscrit au " "tournoi".format(player.name, player.first_name)) else: valid = self.ask_and_store_text( "Confirmez vous que {} {} " "ne participe plus au tournoi ? (O/N)".format( player.name, player.first_name)) if valid[0]: player.switch_player_tournament() Player.save_all_players()