def creer(): nomRegle = repertoire.get() try: a = lbox.get(lbox.curselection()) except: showerror("Erreur", "Vous devez choisir une ammorce dans la liste") pre = prefixe.get() nomF = value.get() post = postfixe.get() ext = extension.get() ap = aPartirDe.get() liste = ext.split(",") if (pre == ''): pre = 'aucun' if (post == ''): post = 'aucun' if (nomF == '1'): nomF = True elif (nomF == '2'): nomF = nomP.get() if (a == 'Lettre' and ap == ''): ap = 'A' elif (a == 'Chiffre' and ap == ''): ap = '0' r1 = Regle(a, ap, pre, nomF, post, liste) l1 = ListeRegle(r1) l1.sauvegarder('RENAME.ini',nomRegle) showinfo('Succès', 'Créé avec succès!')
def cree(self): regle = self.get_regle() regle.set_nomregle(self.nom_entree.get()) listeregle = ListeRegle([]) listeregle.ajouter_regle('Panda.ini', regle) self.master.destroy() messagebox.showinfo('Règle enregistrée', 'Règle enregistrée')
def __init__(self, master, interface_renommer): self.master = master self.interface_renommer = interface_renommer self.prompt_label = Label(self.master, text = 'Choisissez une règle à appliquer :') self.prompt_label.place(x = 50, y = 10) self.listeregle = ListeRegle([]) self.listeregle.charger('Panda.ini') self.regles = self.listeregle.get_regles() self.radio_var = IntVar() i = 0 j = 40 for regle in self.regles: ttk.Radiobutton(self.master, text = regle.get_nomregle(), variable = self.radio_var, value = i).place(x = 50, y = j) i += 1 j += 20 self.bouton_appli = Button(self.master, text = 'Appliquer', command = self.appli) self.bouton_appli.place(relx = 0.25, rely = 0.9) self.bouton_fermer = Button(self.master, text = 'Annuler', command = self.fermer) self.bouton_fermer.place(relx = 0.5, rely = 0.9)
def create_regle(self): """ Aucun Param Fonction permettant la création de la regle dans le fichier "NOMLOGICIEL.ini" 1. Regarde d'abord la var 'var_texte_nomfichier' pour si il doit garder la première la valeur dans l'entry ou la value du radiobutton 2. Réunion de toutes les var de l'interface pour les concatener dans la var 'regle'. Tout cela au format CSV, le plus facile à traiter ensuite 3. Chargement du contenu actuel et sauvegarde avec la nouvelle règle :return: """ # Determination de la valeur du nom de fichier if self.var_texte_nomfichier.get() == ("2"): self.nomfichier = self.var_texte_entrynom.get() else: self.nomfichier = "Original" # Création de la règle. La règle contient : Nom de la règle,AMORCE,APARTIRDE,PREFIXE,NOMFICHIER,POSTFIXE,EXTENSION regle = self.var_texte_regle.get() + "," + self.var_texte_amorce.get() + "," \ + self.var_texte_apartirde.get() + "," + self.var_texte_prefixe.get() + "," \ + self.nomfichier + "," + self.var_texte_suffixe.get() + "," \ + self.var_texte_extension.get() + "\n" file = ListeRegle(regle).charger() ListeRegle(regle).sauvegarder() return
def interfaceLister(): fenetre2=Tk() fenetre2['bg'] = 'white' FrameSup = Frame(fenetre2, bg="white", relief=GROOVE) FrameSup.pack(side=TOP, padx=0, pady=0) # frame repertoire 1 FrameRep1 = Frame(FrameSup, bg="white", relief=GROOVE) FrameRep1.pack(side=LEFT, padx=0, pady=0) # frame repertoire 2 FrameRep2 = Frame(FrameRep1, bg="white", relief=GROOVE) FrameRep2.pack(side=LEFT, padx=0, pady=0) # frame Ammorce FrameAmorce = Frame(FrameRep1, bg="white", relief=GROOVE) FrameAmorce.pack(side=LEFT, padx=0, pady=0) r1=Regle('','','','','',[]) l1=ListeRegle(r1) fichier= l1.charger('RENAME.ini') listeDesRegles=fichier.split('\n\n') limite=len(listeDesRegles) lbox = Listbox(fenetre2, bg="white", width=15, height=15) del listeDesRegles[limite-1] for i in range(len(listeDesRegles)): lesRegles=listeDesRegles[i].split(' ') print(lesRegles) lbox.insert(i+1, lesRegles[0]) lbox.select_set(0) lbox.pack() def affiche(): lbox.pack_forget() selection=lbox.curselection() index=int(selection[0]) nomRegle=lbox.get(selection) uneRegle=listeDesRegles[index].split(' ',6) nom=uneRegle[0] ammorce=uneRegle[1] apartirDe=uneRegle[2] pref=uneRegle[3] nomF=uneRegle[4] post=uneRegle[5] uneRegle[6]=uneRegle[6].replace("'","") listExt=list(uneRegle[6]) if '[' or ']'in listExt: listExt.remove('[') listExt.remove(']') positionAmmorce=0 if ammorce =='Aucune': positionAmmorce=0 elif ammorce == 'Lettre': positionAmmorce=1 else: positionAmmorce=2 # liste ammorce liste = Listbox(FrameRep2, bg="white", width=7, height=5) liste.insert(1, "Aucune") liste.insert(2, "Lettre") liste.insert(3, "Chiffre") liste.select_set(positionAmmorce) # Ajout de labels Nom du repertoire Label(FrameRep1, text="Nom du répertoire").pack(side=TOP, padx=10, pady=10) Label(FrameLogo, bg="white").pack(padx=0, pady=0) # repertoires repertoire = Entry(FrameRep1, textvariable=str, width=80) repertoire.pack(side=TOP) # Ajout de labels Ammorce Label(FrameRep2, text="Ammorce").pack(padx=0, pady=0) Label(FrameLogo, bg="white").pack(padx=0, pady=0) liste.pack() # prefixe Label(FrameRep1, text="Prefixe:").pack(side=LEFT) prefixe = Entry(FrameRep1, textvariable=str, width=10) if(pref!='aucun'): prefixe.insert(0,pref) prefixe.pack(side=LEFT) def nomO(): value.set(1) def nomP(): value.set(2) # Nom du fichier Label(FrameRep1, text="Nom du fichier:").pack(side=LEFT, padx=0, pady=0) bouton1 = Radiobutton(FrameRep1, text="Nom original", variable=value, value=1, command=nomO) bouton2 = Radiobutton(FrameRep1, text="Nom personnalisé", variable=value, value=2, command=nomP) nomP = Entry(FrameRep1, textvariable=str, width=20) if(nomF == 'True' ): bouton1.select() else: bouton2.select() nomP.insert(0,nomF) bouton1.pack(side=LEFT) bouton2.pack(side=LEFT) nomP.pack(side=LEFT) # postfixe Label(FrameRep1, text="Postfixe:").pack(side=LEFT) postfixe = Entry(FrameRep1, textvariable=str, width=10) if(post !='aucun'): postfixe.insert(0,post) postfixe.pack(side=LEFT) # Extension Label(FrameRep1, text="Extension concernée:").pack(side=LEFT) extension = Entry(FrameRep1, textvariable=str, width=20) ex='' listedesEx=[] for i in range(len(listExt)): ex=ex+listExt[i] extension.insert(0,ex) extension.pack(side=LEFT) # A partir de aPartirDe = Entry(FrameRep2, textvariable=str, width=5) aPartirDe.insert(0,apartirDe) liste.pack() # Ajout du labels A partir de Label(FrameRep2, text="A partir de").pack(padx=0, pady=0) aPartirDe.pack() ok.pack_forget() def renommer(): nom=value.get() ap=aPartirDe.get() try: a = liste.get(liste.curselection()) except: showerror("Erreur", "Vous devez choisir une ammorce dans la liste") if (nom == '1'): nom = True elif (nom == '2'): nom = nomP.get() if (a == 'Lettre' and ap == ''): ap = 'A' elif (a == 'Chiffre' and ap == ''): ap = '0' listeExtensions = extension.get().split(',') r1 = Regle(ammorce, ap, pref, nom, post,listeExtensions ) a1 = Renommage(repertoire.get(), r1) a1.renommer() showinfo('Succès', 'Renommé avec succès!') renom = Button(fenetre2, text='renommer', command=renommer) renom.pack() ok= Button(fenetre2, text='Ok', command=affiche) ok.pack()
# coding: utf-8 from Interface import * from Regle import * from ListeRegle import * from tkinter import * liste_regle = ListeRegle([]) liste_regle.charger() fenetre = Tk() fen = Interface(fenetre, liste_regle) fenetre.mainloop()
from Regle import * ''' Me permet de faire mes test ''' from Renommage import * from ListeRegle import * list = ['txt', 'docx'] r1 = Regle('Chiffre', 'B', 'aucun', True, 'aucun', list) a1 = Action('C:/Users/dsbq5660/PycharmProjects/renommage/', r1) l1 = ListeRegle(r1) r1 = Regle('Chiffre', '4', '_prefixe', 'test', ' _post', ['txt', 'docx']) a1 = Renommage('C:/Users/dsbq5660/Documents/files', r1) a1.renommer() #for element in os.listdir('C:/Users/dsbq5660/PycharmProjects/renommage/'): # if element.endswith(list[i]): # print(element)
class InterfaceListeRegle: #constructeur def __init__(self, master, interface_renommer): self.master = master self.interface_renommer = interface_renommer self.prompt_label = Label(self.master, text = 'Choisissez une règle à appliquer :') self.prompt_label.place(x = 50, y = 10) self.listeregle = ListeRegle([]) self.listeregle.charger('Panda.ini') self.regles = self.listeregle.get_regles() self.radio_var = IntVar() i = 0 j = 40 for regle in self.regles: ttk.Radiobutton(self.master, text = regle.get_nomregle(), variable = self.radio_var, value = i).place(x = 50, y = j) i += 1 j += 20 self.bouton_appli = Button(self.master, text = 'Appliquer', command = self.appli) self.bouton_appli.place(relx = 0.25, rely = 0.9) self.bouton_fermer = Button(self.master, text = 'Annuler', command = self.fermer) self.bouton_fermer.place(relx = 0.5, rely = 0.9) # Méthodes #récupération des éléments saisie dans InterfaceRegle def appli(self): regle = self.regles[self.radio_var.get()] MAPPING = {'' : 'Aucune', 'letter' : 'Lettre', 'number' : 'Chiffre'} self.interface_renommer.combo_var.set(MAPPING[regle.get_amorce()]) self.interface_renommer.apartirde_entree.delete(0, END) self.interface_renommer.apartirde_entree.insert(0, regle.get_apartirde()) self.interface_renommer.prefixe_entree.delete(0, END) self.interface_renommer.prefixe_entree.insert(0, regle.get_prefixe()) if isinstance(regle.get_nomfichier(), str): self.interface_renommer.radio_var.set('renomme') self.interface_renommer.nomfichier_entree.delete(0, END) self.interface_renommer.nomfichier_entree.insert(0, regle.get_nomfichier()) else: self.interface_renommer.radio_var.set('original') self.interface_renommer.nomfichier_entree.delete(0, END) self.interface_renommer.postfixe_entree.delete(0, END) self.interface_renommer.postfixe_entree.insert(0, regle.get_postfixe()) string = '' i = 1 for e in regle.get_extension(): string += e if i < len(regle.get_extension()): string += ',' i += 1 self.interface_renommer.extension_entree.delete(0, END) self.interface_renommer.extension_entree.insert(0, string) self.master.destroy() #fermture def fermer(self): self.master.destroy()