# ##################################
# programme permettant d'importer des données d'Absorbance
# pour le programme de terminale
# #################################
# Olivier CHAUMETTE
# Académie de LYON
# #################################

# ##########################
# IMPORTATION DES MODULES #
# #########################
# importation de NUMPY (pour gestion tableaux et calculs) sous l'alias "np"
import numpy as np
# importation de PYPLOT (du module MATPLOTLIB, pour le tracé de courbes) sous l'alias "plt"
import matplotlib.pyplot as plt

# modules pour gérer la boite de dialogue demandant un nom de fichier
import os
from tkinter import *
from tkinter.filedialog import *
import csv


def traiteDonnees(origine):

    if origine != 'entree':
        Fenetre=Tk()
    t = np.array([])
    A = np.array([])

    if origine=='entree':
        """ CAS 1:
        A ET t ISSUES de mesures manuelles et entrées à la main:
        on met A et t dans 2 tableaux """


        A=np.array([0,0.08,0.16,0.20,0.22,0.23,0.235,0.236,0.237])
        t=np.array([0,0.033,0.067,0.1,0.133,0.167,0.2,0.233,0.267])

    elif origine=='texte':
        """CAS 2:
        OUVERTURE A PARTIR D'UN FICHIER DE POINTAGE LATISPRO sauvegardé au format TXT
         Dans le fichier TXT créé par LATISPRO, avec décimale VIRGULE et séparation POINT VIRGULE
        ATTENTION, à l'export depuis Latispro, il faut avoir précisé: Décimal: virgule et Séparateur: Point virgule"""
        Nom_fichier=askopenfilename(title="Ouvrir le fichier de données Latispro", initialdir=os.getcwd(), initialfile="*.txt", filetypes = [("Fichiers Textes tabulés CSV","*.txt;*.csv"),("All", "*")])
        Fichier_Csv = open(Nom_fichier, 'r')
        Objet_Reader_Csv=csv.reader(Fichier_Csv,delimiter = '\t')   # on créée un objet csv, le délimiteur étant ;
        for Ligne in Objet_Reader_Csv:                              # on parcourt chaque ligne du fichier tabulé (chaque ligne est une liste)
            A=np.append(A,float(Ligne[1].replace(",",".")))        # on ajoute à la liste "A" la valeur entière correspondant à la donnée
            t=np.append(t,float(Ligne[0].replace(",",".")))    # idem pour les dates (1ère colonne)
        Fichier_Csv.close()

    try :
        Fenetre.destroy()
    except : pass
    return t, A
