chargementSGDEexcelavecbtl.py 8.58 KB
#! python
# -*- coding: UTF-8 -*-
#####################################
#
#Conversion de fichiers ODF a csv
#
#Auteur: James Caveen
#        Ecrit a partir du programme fortran
#        odf2txt de C. Lafleur (IML)
#
#$Id$
#
####################################
from googletrans import Translator
import testPostgres as pf
import traceback
import sys
from tkinter import *
from tkinter import ttk, messagebox
from tkinter import *
from tkinter.filedialog import *
import pandas as pd
import recupdatanetcdf as rdn
import testexcel as te
import loadjd as ld
import jeudedonneesdelete as jddd
def geoliste(g):
    r=[i for i in range(0,len(g)) if not g[i].isdigit()]
    return [int(g[0:r[0]]),int(g[r[0]+1:r[1]]),int(g[r[1]+1:r[2]]),int(g[r[2]+1:])]
def centrefenetre(fen):
    fen.update_idletasks()
    l,h,x,y=geoliste(fen.geometry())
    fen.geometry("%dx%d%+d%+d" % (l,h,(fen.winfo_screenwidth()-l)//2,(fen.winfo_screenheight()-h)//2))

#bd.cursor.execute("select  nextval('seq_int')")
#resultat2=bd.cursor.fetchone()
#print(resultat2)
class InterfaceGraphic(Tk):

    def __init__(self):
        Tk.__init__(self)
        #self.minsize(1200,700)
        self.title('Gestion des interfaces')
        self.creerWidgets()
##interface pour la mission
    def creerWidgets(self):
        self.mainWindow = Frame(self, bg="blue")
        self.mainWindow.pack(fill=BOTH, expand=1)
        self.tete = Frame(self.mainWindow, bg="blue")
        self.tete.pack(side=TOP, fill=BOTH)
        self.label = Label(self.tete,font=('arial',70,'bold'),text="Création netcdf et chargement", bg="blue", fg="white")
        self.label.pack(padx=5, pady=5)

        self.frameSaisie = Frame(self.mainWindow, bg="blue")
        self.frameSaisie.pack(fill=BOTH)
        self.frameSaisie1 = Frame(self.mainWindow, bg="blue")
        self.frameSaisie1.pack(fill=BOTH)
        self.frameResult = Frame(self.frameSaisie, bd=4, relief=SUNKEN)
        self.frameResult.pack(side=LEFT,fill=X)
        #self.frameButtoninter = Frame(self.frameSaisie, bg="blue")
        #self.frameButtoninter.pack(side=LEFT)
        #self.btninter = Button(self.frameButtoninter, text="Nouveau", bg="blue", fg="white")
        #self.btninter.pack(padx=5, pady=5)
        self.frameButtonmission = Frame(self.frameSaisie1, bg="blue")
        self.frameButtonmission.pack(side=LEFT)
        self.btnmission = Button(self.frameButtonmission,font=('arial',50,'bold'),bd=4, text="charger all", bg="blue", fg="white", command=self.gestionIntervenant)
        self.btnmission.grid(row=0,column=0)
        self.frameButtontable = Frame(self.frameSaisie, bg="blue")
        self.frameButtontable.pack(side=LEFT)
        self.btntable = Button(self.frameButtontable,font=('arial',50,'bold'),bd=4, text="excel avec bt et cast", bg="blue", fg="white",command=self.excelavecbtcast)
        self.btntable.grid(row=0,column=1)
        self.frameButtonsauve = Frame(self.frameSaisie, bg="blue")
        self.frameButtonsauve.pack(side=LEFT)
        self.btnsauve = Button(self.frameButtonsauve,font=('arial',50,'bold'),bd=4, text="fichier de chargement", bg="blue", fg="white", command=self.filecharger)
        self.btnsauve.grid(row=0,column=2)
        self.frameButtonprojet = Frame(self.frameSaisie, bg="blue")
        self.frameButtonprojet.pack(side=LEFT)
        self.btnsauve1 = Button(self.frameButtonprojet,font=('arial',50,'bold'),bd=4, text="chargement de donnees", bg="blue", fg="white", command=self.chargerdata)
        self.btnsauve1.grid(row=0,column=3)



        self.frameButtonprojet1 = Frame(self.frameSaisie1, bg="blue")
        self.frameButtonprojet1.pack(side=LEFT)
        self.btnsauve11 = Button(self.frameButtonprojet1,font=('arial',50,'bold'),bd=4, text="test de suppression", bg="blue", fg="white", command=self.deletedata)
        self.btnsauve11.grid(row=0,column=4)

        self.frameButtonprojet2 = Frame(self.frameSaisie1, bg="blue")
        self.frameButtonprojet2.pack(side=LEFT)
        self.btnsauve1 = Button(self.frameButtonprojet2,text="Rep des fichiers",font=('arial',50,'bold'),command=self.recupJD_Rep)
        self.btnsauve1.grid(row=0,column=5)
        self.modified51=StringVar()
        #self.frameButtontypes = Frame(self.frameSaisie1, bg="blue")
        #self.frameButtontypes.pack(side=LEFT)
        #self.btnsauve11111 = Button(self.frameButtontypes,font=('arial',50,'bold'),bd=4, text="delete jd", bg="blue", fg="white", command=self.gestiondeletejd)
        #self.btnsauve11111.grid(row=2,column=4)

        self.exit_button = Button(self.mainWindow,font=('arial',50,'bold'),bd=4,fg="black",bg="red", text = "Exit", command = self.mainWindow.quit)
        self.exit_button.pack()
    def recupJD_Rep(self):
        rep = askdirectory(title='Choisissez un repertoire')
        self.modified51.set(rep)
        return rep
    def gestionIntervenant(self):
        #prob = self.loginEntry.get().strip().split(' ')
        try:
            #self.inter = gI.IntervenantGraphic()
            #self.inter.mainloop()
            self.destroy()
            self.inter = gI.IntervenantGraphic()
            #self.inter.mainloop()
        except Exception as err:
            print("Requête SQL incorrecte :\n%s\nErreur détectée :\n%s"\
                    % (err))
            messagebox.showerror("Erreur de saisie", "impossible de lancer cette interface.")
    def excelavecbtcast(self):
        #prob = self.loginEntry.get().strip().split(' ')
        try:
            if(self.modified51.get()==""):
                messagebox.showerror("Erreur", "choisir le dossier des donnees d'abord en cliquant sur dans rep des fichiers.")
            else:
                #self.destroy()
                self.mission=te.creerAllbtl(self.modified51.get())
        except Exception as err:
            print("Requête SQL incorrecte :\n%s\nErreur détectée :\n%s"\
                    % (err))
            messagebox.showerror("Erreur de saisie", "impossible de lancer cette interface.")
    def filecharger(self):
        #prob = self.loginEntry.get().strip().split(' ')
        try:
            if(self.modified51.get()==""):
                messagebox.showerror("Erreur", "choisir le dossier des donnees d'abord en cliquant sur dans rep des fichiers.")
            else:
                self.destroy()
                self.mission = rdn.recupInterface(self.modified51.get())
        except Exception as err:
            print("Requête SQL incorrecte :\n%s\nErreur détectée :\n%s"\
                    % (err))
            messagebox.showerror("Erreur de saisie", "impossible de lancer cette interface.")
    def chargerdata(self):
        #prob = self.loginEntry.get().strip().split(' ')
        try:
            if(self.modified51.get()==""):
                messagebox.showerror("Erreur", "choisir le dossier des donnees d'abord en cliquant sur dans rep des fichiers.")
            else:
                #self.destroy()
                self.mission = ld.chargementbtl(self.modified51.get())
                messagebox.showinfo("chargement", "chargement dans la base fait avec succes.")
        except Exception as err:
            print("Requête SQL incorrecte :\n%s\nErreur détectée :\n%s"\
                    % (err))
            messagebox.showerror("Erreur de saisie", "impossible de lancer cette interface.")
    def deletedata(self):
        #prob = self.loginEntry.get().strip().split(' ')
        try:
            if(self.modified51.get()==""):
                messagebox.showerror("Erreur", "choisir le dossier des donnees d'abord en cliquant sur dans rep des fichiers.")
            else:
                self.destroy()
                self.mission = jddd.recupdelete(self.modified51.get())

        except Exception as err:
            print("Requête SQL incorrecte :\n%s\nErreur détectée :\n%s"\
                    % (err))
            messagebox.showerror("Erreur de saisie", "impossible de lancer cette interface.")
    def chargerAll(self):
        #prob = self.loginEntry.get().strip().split(' ')
        try:
            if(self.modified51.get()==""):
                messagebox.showerror("Erreur", "choisir le dossier des donnees d'abord en cliquant sur dans rep des fichiers.")
            else:
                self.destroy()
                self.mission=te.creerAllbtl(self.modified51.get())
                self.mission = rdn.recupInterface(self.modified51.get())
                self.mission = ld.chargementbtl(self.modified51.get())
        except Exception as err:
            print("Requête SQL incorrecte :\n%s\nErreur détectée :\n%s"\
                    % (err))
            messagebox.showerror("Erreur de saisie", "impossible de lancer cette interface.")
if __name__ == '__main__':
    huff = InterfaceGraphic()
    centrefenetre(huff)
    huff.mainloop()