Ejemplo n.º 1
0
    def correction(self, contenu, section):
        # Cette méthode permet de proposer une correction.
        # Elle prend en argument un contenu et ne renvoie rien.
        # L'utilisateur n'a qu'à entrer la proposition de
        # correction afin de l'enregistrer.

        chemin = section.chemin
        num_pays = section.num_pays

        if chemin[-1] == 'conventional short form' or chemin[
                -1] == 'conventional long form':
            input(
                '\nVous ne pouvez pas proposer de correction pour le nom du pays.\nAppuyez sur entrer pour continuer.'
            )
        else:
            rep = input('\nVoulez vous proposer une correction (O/N) ?\n> ')
            if rep in ['o', 'O']:
                while True:
                    txt_correction = input(
                        '\nEntrez la proposition de correction :\n> ')
                    if len(txt_correction) > 1:
                        break
                    print('\nVotre texte doit contenir au moins 1 caractère\n')

                prop_correction = Proposition_Correction(
                    txt_correction, num_pays, chemin)
                gestionnaire = Gestionnaire()
                gestionnaire.save_elm(prop_correction)

                continuer = input(
                    '\nVotre proposition de correction a bien été enregistrée.\nAppuyez sur entrer pour continuer.'
                )
Ejemplo n.º 2
0
    def _creer_compte(self, contenu):
        """Cette méthode permet à l'administrateur de créer un nouveau compte.
		D'abord, il doit choisir le statut du nouveau acteur. Ensuite son pseudo et enfin son mot de passe.
		Une fois validé, le nouveau compte sera inséré dans le gestionnaire des comptes."""

        gestionnaire = Gestionnaire()
        liste_des_comptes = gestionnaire.read(Compte().get_chemin_fichier())
        liste_des_pseudos = [
            compte.get_pseudo() for compte in liste_des_comptes
        ]

        while True:
            type_de_compte = input(
                '\nVous voulez créer un compte Administrateur, Géographe ou Data Scientist (a/g/d) ? : '
            )
            if type_de_compte in ['a', 'g', 'd']:
                break
            print(
                '\nLa réponse attendue doit être : a pour Admin, g pour Géographe ou d pour Data Scientist.'
            )

        while True:
            pseudo = input('Entrez le pseudo : ')
            if len(pseudo) >= 2:
                if pseudo not in liste_des_pseudos:
                    break
                else:
                    print(
                        "\nCe pseudo est déjà attribué à quelqu'un, veuillez en choisir un autre.\n"
                    )
            else:
                print('\nVotre pseudo doit contenir au moins 2 caractères.\n')

        while True:
            while True:
                mot_de_passe = gp.getpass("Entrez le mot de passe : ")
                if len(mot_de_passe) >= 4:
                    break
                print(
                    "\nVotre mot de passe doit contenir au moins 4 caractères.\n"
                )
            mot_de_passe_confirmation = gp.getpass(
                "Confirmez le mot de passe : ")
            if mot_de_passe == mot_de_passe_confirmation:
                break
            print(
                "\nLa confirmation ne correspond pas au mot de passe initial.\n"
            )

        gestionnaire.save_elm(Compte(pseudo, mot_de_passe, type_de_compte))
        input(
            "\nLe compte a bien été enregistré.\nAppuyez sur entrer pour continuer."
        )
        return Menu_Ouvert(contenu)