Example #1
0
	def ajout_section(self, contenu, section):
		"""Cette méthode permet de créer une nouvelle section dans un pays"""
		
		gestionnaire = Gestionnaire()
		noms_indisponibles = section.get_noms_sous_sections()
		
		if self.verification_connexion():
			while True:
				nom_section = input('\nEntrez le nom de la nouvelle section :\n> ')
				if len(nom_section) < 1 or len(nom_section) > 50:
					input('\nLe nom de la section doit contenir entre 1 et 50 caractères.\nAppuyez sur entrer pour continuer.')
					continue
				if nom_section in noms_indisponibles:
					input("\nCe nom est déjà celui d'une section existante, veuillez en choisir un autre.\nAppuyez sur entrer pour continuer.")
					continue
				if (nom_section == 'Government') or (nom_section == 'Country name') or (nom_section == 'conventional short form') or (nom_section == 'conventional long form') or (nom_section == 'text'):
					input('\nLa section ne peut pas porter de nom tel que Government, Country name, conventional short form, conventional long form ou text.\nAppuyez sur entrer pour continuer.')
					continue
				break
			
			confirmation = input('\nConfirmation de la création de la section (O/N) ?\n> ')
			if confirmation in ['o', 'O']:
				section.contenu[nom_section] = {}
				gestionnaire.update(section.donnees)
				input('\nLa nouvelle section a été ajoutée.\nAppuyez sur entrer pour continuer.')
			else :
				input("\nVotre tentative d'ajout de section n'a pas abouti.\nAppuyez sur entrer pour continuer.")
				
		return self.afficher_section(section, contenu)
Example #2
0
	def ajout_pays(self, contenu):
		"""Cette méthode permet d'ajouter un pays comme la précédente méthode ajout_section"""
		
		gestionnaire = Gestionnaire()
		donnees = Data_Base().donnees
		noms_indisponibles = [Pays(num_pays, donnees).get_name() for num_pays in range(len(donnees)) if Pays(num_pays, donnees).get_name()]
		
		if self.verification_connexion():
			nom_pays = input('\nEntrez le nom du pays à ajouter :\n> ')
			
			if nom_pays == 'none':
				input("\nVous ne pouvez pas nommer un pays 'none'.\nAppyez sur entrer pour continuer.")
				return self.afficher_pays(contenu)
			if nom_pays in noms_indisponibles:
				input('\nCe pays est déjà dans la liste.\nAppyez sur entrer pour continuer.')
				return self.afficher_pays(contenu)
			
			confirmation = input("\nConfirmation de l'ajout du pays (O/N) ?\n> ")
			if confirmation not in ["o","O"]:
				input("\nEchec de l'ajout du pays.\nAppyez sur entrer pour continuer.")
				return self.afficher_pays(contenu)
				
			donnees.append({})
			nouveau_pays = Pays(len(donnees)-1, donnees)
			nouveau_pays.set_name(nom_pays)
			nouveau_pays.set_infos_de_base()
			
			gestionnaire.update(nouveau_pays.donnees)
			input("\nLe pays a bien été ajouté.\nAppuyez sur entrer pour continuer.")

		return self.afficher_pays(contenu)
Example #3
0
	def correction(self, contenu, section_de_texte):
		""" La méthode correction prend en compte un contenu de menu et un texte.
		Elle permet la modification d'une information par un nouveau texte."""
		
		gestionnaire = Gestionnaire()
		chemin = section_de_texte.chemin
		
		if chemin[-1] == 'conventional short form' or chemin[-1] == 'conventional long form':
			input('\nVous ne pouvez pas modifier le nom du pays.\nAppuyez sur entrer pour continuer.')
		else:
			rep = input('\nVoulez vous modifier le texte (O/N) ?\n> ')
			if rep in ['o', 'O']:
				if self.verification_connexion():
					while True:
						txt_correction = input('\nEntrez le nouveau texte :\n> ')
						if len(txt_correction) >= 1:
							break
						print('\nVotre texte doit contenir au moins 1 caractère\n')
						
					section_de_texte.contenu['text'] = txt_correction
					
					confirmation = input('\nConfirmation de la modification #Cela écrasera le texte initial# (O/N) ?\n> ')
					if confirmation in ["o","O"]:
						gestionnaire.update(section_de_texte.donnees)
						input('\nVotre modification a bien été enregistrée.\nAppuyez sur entrer pour continuer.')
					else :
						input("\nVotre tentative de modification n'a pas abouti.\nAppuyez sur entrer pour continuer.")
Example #4
0
    def supprimer_pays(self, contenu):
        gestionnaire = Gestionnaire()
        donnees = Data_Base().donnees
        noms_pays = [
            Pays(num_pays, donnees).get_name()
            for num_pays in range(len(donnees))
        ]

        if self.verification_connexion():
            nom_pays_a_supprimer = input(
                '\nEntrez le nom du pays à supprimer\n> ')
            if nom_pays_a_supprimer not in noms_pays:
                input(
                    "\nCe pays n'existe pas.\nAppuyez sur entrer pour continuer."
                )
                return self.afficher_pays(contenu)
            else:
                num_pays_a_supprimer = noms_pays.index(nom_pays_a_supprimer)

            confirmation = input(
                "\nConfirmation de la suppression du pays (O/N) ? #Cela supprimera aussi toutes ses données#\n> "
            )
            if confirmation in ["o", "O"]:
                del donnees[num_pays_a_supprimer]
                gestionnaire.update(donnees)
                input(
                    "\nLe pays a bien été supprimée.\nAppuyez sur entrer pour continuer."
                )
            else:
                input(
                    "\nVotre tentative de suppression n'a pas abouti.\nAppuyez sur entrer pour continuer."
                )

        return self.afficher_pays(contenu)
Example #5
0
    def ajout_texte(self, contenu, section):
        gestionnaire = Gestionnaire()
        section_mere = Section(section.num_pays, section.donnees,
                               section.chemin[:-1])

        if self.verification_connexion():
            while True:
                texte = input('\nEntrez le texte à ajouter :\n> ')
                if len(texte) <= 1:
                    input(
                        '\nLe nom de la section doit contenir au moins 1 caractère.\nAppuyez sur entrer pour continuer.'
                    )
                    continue
                break

            confirmation = input(
                "\nConfirmation de l'ajout du texte (O/N) ?\n> ")
            if confirmation in ['o', 'O']:
                section.contenu['text'] = texte
                gestionnaire.update(section.donnees)
                input(
                    '\nLe texte a bien été ajouté.\nAppuyez sur entrer pour continuer.'
                )
                return self.afficher_section(section_mere, contenu)
            else:
                input(
                    "\nVotre tentative d'ajout de texte n'a pas abouti.\nAppuyez sur entrer pour continuer."
                )

        return self.afficher_section(section, contenu)
Example #6
0
	def _valider_prop(self, prop_cor, section_du_texte):
		"""Méthode qui valide la proposition de correction. Elle va remplacer le texte par la proposition.
		Puis, elle va supprimer la proposition."""
		
		gestionnaire = Gestionnaire()
		confirmation = input("\nConfirmation de la validation du nouveau texte (O/N) ? #Cela supprimera l'ancien texte#\n> ")
		if confirmation in ['o', 'O']:
			section_du_texte.contenu['text'] = prop_cor.txt_prop
			gestionnaire.update(section_du_texte.donnees)
			gestionnaire.suppr_elm(prop_cor)
			input("\nLe texte a bien été modifié !\nAppuyez sur entrer pour continuer.")
		else :
			input("\nVotre tentative de validation n'a pas abouti.\nAppuyez sur entrer pour continuer.")
Example #7
0
    def supprimer_section(self, contenu, section):
        """Contrairement au géographe, l'administrateur est le seul à pouvoir supprimer un pays ou une section.
		Ici, cette méthode permet de supprimer une section d'un pays en question.
		Cependant, il ne peut pas supprimer certaines sections comme 'Government' ou 'Country name' car ils contiennent
		la liste des noms des pays."""

        gestionnaire = Gestionnaire()
        noms_sous_sections = section.get_noms_sous_sections()
        sections_non_supprimables = [
            'Government', 'Country name', 'conventional short form',
            'conventional long form'
        ]

        if self.verification_connexion():
            nom_section_a_supprimer = input(
                '\nEntrez le nom de la section à supprimer\n> ')
            if nom_section_a_supprimer not in noms_sous_sections:
                input(
                    "\nCette section n'existe pas.\nAppuyez sur entrer pour continuer."
                )
                return self.afficher_section(section, contenu)
            if nom_section_a_supprimer in sections_non_supprimables:
                input(
                    '\nVous ne pouvez pas supprimer cette section car elle est susceptible de contenir le nom du pays.\nAppuyez sur entrer pour continuer.'
                )
                return self.afficher_section(section, contenu)

            confirmation = input(
                '\nConfirmation de la suppression de la section (O/N) ? #Cela supprimera aussi toutes ses sous-sections#\n> '
            )
            if confirmation in ["o", "O"]:
                del section.contenu[nom_section_a_supprimer]
                gestionnaire.update(section.donnees)
                input(
                    '\nLa section a bien été supprimée.\nAppuyez sur entrer pour continuer.'
                )
            else:
                input(
                    "\nVotre tentative de suppression n'a pas abouti.\nAppuyez sur entrer pour continuer."
                )

        return self.afficher_section(section, contenu)
Example #8
0
    def supprimer_section(self, contenu, section):
        gestionnaire = Gestionnaire()
        noms_sous_sections = section.get_noms_sous_sections()
        sections_non_supprimables = [
            'Government', 'Country name', 'conventional short form',
            'conventional long form'
        ]

        if self.verification_connexion():
            nom_section_a_supprimer = input(
                '\nEntrez le nom de la section à supprimer\n> ')
            if nom_section_a_supprimer not in noms_sous_sections:
                input(
                    "\nCette section n'existe pas.\nAppuyez sur entrer pour continuer."
                )
                return self.afficher_section(section, contenu)
            if nom_section_a_supprimer in sections_non_supprimables:
                input(
                    '\nVous ne pouvez pas supprimer cette section car elle est susceptible de contenir le nom du pays.\nAppuyez sur entrer pour continuer.'
                )
                return self.afficher_section(section, contenu)

            confirmation = input(
                '\nConfirmation de la suppression de la section (O/N) ? #Cela supprimera aussi toutes ses sous-sections#\n> '
            )
            if confirmation in ["o", "O"]:
                del section.contenu[nom_section_a_supprimer]
                gestionnaire.update(section.donnees)
                input(
                    '\nLa section a bien été supprimée.\nAppuyez sur entrer pour continuer.'
                )
            else:
                input(
                    "\nVotre tentative de suppression n'a pas abouti.\nAppuyez sur entrer pour continuer."
                )

        return self.afficher_section(section, contenu)