def temp(): """ sous-fonction qui permet de gérer un fichier temporaire qui contiendrat les informations en cours d'enregistrement cette sous-fonction est une boucle """ try: # on essaye d'enregistrer les informations read.remplacer_ligne( requetes, "temp.txt", 1, numero.get("current linestart", "current lineend")) read.remplacer_ligne( requetes, "temp.txt", 2, question_sql.get("current linestart", "current lineend")) # on efface toutes les autres lignes pour mettre la requete temporaire = read.lire_fichier(requetes + "/temp.txt", True) read.suppr_lignes(requetes + "/temp.txt", *[i for i in range(3, len(temporaire) + 1)]) read.remplacer_ligne( requetes, "temp.txt", 3, requete.get("1.0", "end")) # on ajoute la requete en cours au fichier root.after(100, temp) # On répète la fonction toutes les 0.1s except: # si on ne peut pas, cela signifie qu'il n'y a plus de fentre et donc la fonction s'arrête pass
def validation(): """ sous-fonction permettant de : connaître les cases cochées retirer les requetes associée aux cases cochées """ suppr = cases_cochees() if messagebox.askyesno( "Validation", "Est-tu sûr de vouloir supprimer (pour toujours) les questions :" + str(suppr)): alire = [0] + read.lire_fichier( "requetes/alire.md", True ) # l'ajout de la premiere valeur permet d'être en accrod sur le décompte avec la fonction read.suppr_lignes i_lignes = [ ] # on va stocker ici la liste des lignes à supprimer du document alire.md for n_question in suppr: # on parcours chaque questions sélectionner # on avance le compteur l des indices tant qu'on n'est pas sur la bonne question l = 1 while alire[l][:len(n_question)] != n_question: l += 1 # on supprime le fichier sql associé qui se trouve une ligne au dessus read.suppr_fichier("requetes/" + alire[l - 1], False) i_lignes += [l - 1] # la détection se fait par la précence de # donc on enleve manuellement le premier i_lignes += [l] l += 1 # on ajoute les indices tant qu'on n'as pas fini la question while l < len(alire) and len( alire[l]) > 0 and alire[l][0] != "#": i_lignes += [l] l += 1 read.suppr_lignes( "requetes/alire.md", *i_lignes ) # une fois tous les indices de lignes récoltées, on supprime les lignes retour() # on retourne au menu