def requete_verifier(event): """ sous-fonction qui permet de vérifier que le champs pour la requete est correcte """ texte = requete.get( "1.0", "end" ) # on prend la requete du premier caracteres jusqu'au dernier lettres = caracteres(texte) data = Database.database( base) # on met en route la base de données pour tester if data.execute( texte ) == None: # si on obtient None, la requete ne s'est pas exécuté est donc elle est fausse renseignement[2] = False r_texte.set("La requete n'est pas valide, veuillez corriger") elif len(lettres) < 3 and ( " " in lettres or "\n" in lettres ): # si la requete ne contient que des espaces, elle peut s'éxécuter, ce cas est donc détaillé renseignement[2] = False r_texte.set("Veuillez écrire une requête") else: renseignement[2] = True r_texte.set("")
def requete_verifier(event): texte = requete.get("1.0", "end") lettres = [] for caractere in texte: if caractere not in lettres: lettres += [caractere] data = Database.database("imdb.db") if data.execute(texte) == None: renseignement[2] = False # on met le message en rouge r_texte.set("La requete n'est pas valide, veuillez corriger") elif len(lettres) < 3 and (" " in lettres or "\n" in lettres): renseignement[2] = False # on met le message en rouge r_texte.set("Veuillez écrire une requête") else: renseignement[2] = True # on enleve le message en rouge r_texte.set("")
def question_semi_console(): """ fonction permettant de selectionner une question puis d'en afficher la réponse dans une fenetre tkinter affiche les questions, demande à l'utilisateur de choisir l'index d'une question, affiche une réponse dans une fenetre tkinter """ dictionnaire = stockage_question( "requetes", "alire.md" ) # On stocke toutes les informations contenu dans le fichier alire.md # On affiche l'intégralité des questions enregistrées for key, value in dictionnaire.items(): print(value[0]) choix = int( input("Quelle question choisit-tu ? " )) # On demande l'index de la question choisit par l'utilisateur if choix in dictionnaire.keys(): # On s'assure que la question existe if not Database.database("imdb.db").test_connexion( ): # On vérifie que la base de données est disponible print("Connexion à la base de données impossible") else: resultat = read.execute_sql_file( "requetes", dictionnaire[choix][2], "imdb.db" ) # On charge le résultat de la requête qui répond à la question texte_entier = dictionnaire[choix][1] + "\n" + "-" * len( dictionnaire[choix][0] ) + "\n\n" + show.afficher_table( resultat ) # On rédige le texte à afficher dans la fenêtre dans une unique ligne/chaine de caracteres tk.affichage_texte_tkinter( dictionnaire[choix][0], texte_entier, len(dictionnaire[choix] [0])) # affichage de la réponse dans une fenetre tkinter else: print("Index de question inexistant") question_console()
def question_console(): """ fonction permettant de selectionner une question puis d'en afficher la réponse affiche les questions, demande à l'utilisateur de choisir l'index d'une question, affiche une réponse """ dictionnaire = stockage_question( "requetes", "alire.md" ) # On stocke toutes les informations contenu dans le fichier alire.md # On affiche l'intégralité des questions enregistrées for key, value in dictionnaire.items(): print(value[0]) choix = int( input("Quelle question choisit-tu ? " )) # On demande l'index de la question choisit par l'utilisateur if choix in dictionnaire.keys(): # On s'assure que la question existe if not Database.database("imdb.db").test_connexion( ): # On vérifie que la base de données est disponible print("Connexion à la base de données impossible") else: resultat = read.execute_sql_file( "requetes", dictionnaire[choix][2], "imdb.db" ) # On charge le résultat de la requête qui répond à la question # affichage de la réponse separation = "-" * len(dictionnaire[choix][0]) + "------------" print(dictionnaire[choix][0]) print(separation) print(dictionnaire[choix][1]) print(separation) print(show.afficher_table(resultat)) else: print("Index de question inexistant") question_console()