import mysql.connector
import os

#futur helper
#fonction pour des-serializer les listes
from autopdf_helper import *

#connection
mydb = mysql.connector.connect(
    host="10.40.155.30",
    user="atima_xplorer",
    password = "9G9rRf23MeuA8t",
    database="atima_xplorer"
)
#créer le curseur pour obtenir les valeurs
mycursor = mydb.cursor()

mycursor.execute("UPDATE fichier SET autopdf = 1 WHERE id = 161")
#executer la requete
mycursor.execute("select * from fichier where autopdf=true;")

#obtenir tout
listeRadiosSQL = mycursor.fetchall()

#printer les resultats
for radio in listeRadiosSQL:
    #recuperer les infos
    idRadio = radio[0]
    idClinique = radio[1]
    dateRadio = radio[2]
    heureRadio = radio[3]
    nomPacient = radio[4]
    modalite = radio[5]
    formatR = radio[6]
    listeFichiers = des_seliarizer(radio[7])#des-serializer la liste
    autopdf = radio[8]
    
    #Definir le nom de la radio
    nomFichierPDF = "public/upload/"+str(idClinique)+"/"+str(idRadio) + "_" + nomPacient.replace("/","_").replace(" ","-") + "_" + dateRadio.strftime("%d-%m-%Y") + "_" + heureRadio + ".pdf"
    cheminImages = "public/upload/"+str(idClinique)+"/"
    
    #verifier le format
    #if formatR == "PDF":
    #    print("est un PDF")
        #rien faire je supose, juste mettre à 0
    
    #si le/les fichier/s est/sont dicom
    #elif
    if formatR == "DICOM":
        #creer un nom base pour les images temporaires
        baseFileNameImages = str(idRadio) + "_" + nomPacient.replace("/","_").replace(" ","-") + "_" + dateRadio.strftime("%d-%m-%Y") + "_" + heureRadio
        #creer une liste vide pour les images
        imagesConverties=[]
        #obtenir les fichiers dicoms et ajouter le path
        listeFichiers = ajouterCheminListe(listeFichiers,cheminImages)
        #parcourir chaque element de la liste
        for fichier in listeFichiers:
            imagesConverties = imagesConverties + dcmToJpeg(fichier, cheminImages+"/converted/",baseFileNameImages)
        #créer le pdf
        fichierPDFConverti = creerPDF(modalite,imagesConverties,nomFichierPDF)
        #verifier si le fichier existe
        if os.path.exists(nomFichierPDF):#si oui
            #creer une requete
            mycursor.execute("UPDATE fichier SET autopdf = %s WHERE id = %s",(0,idRadio))
            mycursor.execute("UPDATE fichier SET chemin_pdf = %s WHERE id = %s",(nomFichierPDF,idRadio))
            #suprimmer les fichiers - parcourir chaque fichier
            for image in imagesConverties:
                #suprimmer l'image
                os.remove(image)
            print("PDF crée pour la radio",idRadio)
    #si le image est PNG ou JPG ou JPEG
    elif formatR == "JPG" or formatR == "JPEG" or formatR == "PNG":
        listeFichiers = ajouterCheminListe(listeFichiers,cheminImages)
        fichierPDFConverti = creerPDF(modalite,listeFichiers,nomFichierPDF)
        #verifier si le fichier existe
        if os.path.exists(nomFichierPDF):#si oui
            #creer une requete
            mycursor.execute("UPDATE fichier SET autopdf = %s WHERE id = %s",(0,idRadio))
            mycursor.execute("UPDATE fichier SET chemin_pdf = %s WHERE id = %s",(nomFichierPDF,idRadio))
            print("PDF crée pour la radio",idRadio)
    #autres fichiers
    else:
        print("")
        
    #verifier si le fichier à été bien crée

mydb.commit()
mydb.close()


