class Tournoi:
    def __init__(self):
        """se renseigner sur isalpha(), isalnum(), upper(), lower() pour filter"""
        # enregistre en memoire le nouveau tournoi créer
        # db.all()[0] = tournoi 1
        # table.all()[1] = tournoi 2
        self.db = TinyDB('memoire_tournoi.json')
        self.tournoi = self.db.get(doc_id=1)
        print("Tournoi initialisé : ")
        print(self.tournoi)
        # print("Tournois engegistrés : ")
        # if len(self.db.all()) != 0:
        #     i = 1
        #     for item in self.db:
        #         print("Tournoi", i, item)
        #         i += 1
        # else:
        #     print("Aucun tournoi enregistré")
        # self.nouveau_tournoi = str(input("tapez N pour créer un nouveau tournoi : "))
        # if self.nouveau_tournoi == str("n") or self.nouveau_tournoi == str("N"):
        #     self.creer_nouveau_tournoi()
        # else:
        #     print("mauvaise manip")

    def creer_nouveau_tournoi(self):
        #taper le numero du tournoi ou X pour créer un nouveau tournoi
        self.nom = input("Nom du nouveau tournoi : ")
        self.lieu = input("Lieu du tournoi : ")
        self.date = input("Date du tournoi : ")
        self.nb_rondes = int(input("Entrez le nombre de rondes : "))
        self.nb_joueurs = int(input("Entrez le nombre de joueurs : "))
        self.description = input("Description du tournoi : ")
        # si pas de table, tinydb créer _default
        self.db.clear_cache()
        self.db.insert({
            'nom': self.nom,
            "lieu": self.lieu,
            'date': self.date,
            'nb_rondes': self.nb_rondes,
            'nb_joueurs': self.nb_joueurs,
            'description': self.description
        })

    """
    se renseigner sur __Str__ pour l'affichage 
    """

    def information_tournoi(self):
        print("Nom du nouveau tournoi : ", self.tournoi['nom'])
        print("Lieu du tournoi : ", self.tournoi['lieu'])
        print('Date du tournoi : ', self.tournoi['date'])
        print('nombre de rondes : ', self.tournoi['nb_rondes'])
        print('nombre de joueurs : ', self.tournoi['nb_joueurs'])
        print('description : ', self.tournoi['description'])
        #joueur participant aux tournois
        #classement actuel

    list_joueur_du_tournoi = []

    def create_player(self, nom, born, sexe, elo):

        # for self.joueur in range(1, 2 + 1):
        # # for self.joueur in range(1, self.tournoi['nb_joueurs'] + 1):
        #     print("Joueur " + str(self.joueur))
        # self.name_player = input("Nom du joueur : ")
        # self.born_player = input("Naissance du joueur : ")
        # self.sexe_player = input("Sexe du joueur : ")
        # self.elo_player = input("elo du joueur : ")
        self.name_player = nom
        self.born_player = born
        self.sexe_player = sexe
        self.elo_player = int(elo)
        self.player = Player(self.name_player, self.born_player,
                             self.sexe_player, self.elo_player)
        self.list_joueur_du_tournoi.append(self.player)
        return self.list_joueur_du_tournoi

    def list_caracs(self):
        list_caracs = []
        for self.joueur in self.list_joueur_du_tournoi:
            list_caracs.append({
                "nom": self.joueur.name_player,
                "naissance": self.joueur.born_player,
                "sexe": self.joueur.sexe_player,
                "elo": self.joueur.elo_player,
            })
        return list_caracs

    def classement(self):
        pass