import ConfigParser
import os


class Parametres :

    def __init__(self,file):
        self.file = file
    
    def parse (self):
        config = ConfigParser.ConfigParser()
        config.read(os.path.join(os.getcwd(),self.file))
          
        #Parametres concernant les agents TA :
        self.nb_agents_TA = config.getfloat('Agents_TA','nb_agents_TA')
        self.nb_migrants = config.getfloat('Agents_TA','nb_migrants')
        self.heures = config.getfloat('Agents_TA','heures')
        self.cash_min_TA = config.getfloat('Agents_TA','cash_min_TA')
        self.cash_max_TA = config.getfloat('Agents_TA','cash_max_TA')
        self.prct_invest_achat = config.getfloat('Agents_TA','prct_invest_achat')
        
        #Parametres concernant les agents EV :
        self.nb_agents_EV = config.getfloat('Agents_EV','nb_agents_EV')
        self.prct_invest_emploi = config.getfloat('Agents_EV','prct_invest_emploi')
        self.cash_min_EV = config.getfloat('Agents_EV','cash_min_EV')
        self.cash_max_EV = config.getfloat('Agents_EV','cash_max_EV')
        self.salaire_initial = config.getfloat('Agents_EV','salaire_initial')
        self.prix_initial = config.getfloat('Agents_EV','prix_initial')
        
        #Parametre permettant de limiter l'effet ping-pong :
        self.gamma = config.getfloat('Ping_pong','gamma')
        
        #Probabilites permettant de remplir les matrices d'adjacence :
        self.proba_matrice_TE = config.getfloat('Matrices_adjacence','proba_matrice_TE')
        self.proba_matrice_AV = config.getfloat('Matrices_adjacence','proba_matrice_AV')
        
        #Parametre permettant de faire les coupures entre agents :
        self.param_coupure = config.getfloat('Coupures','param_coupure')
        
        #Parametre permettant de calculer la productivite des entreprises :
        self.a = config.getfloat('Productivite','a')
        
        #Nombre d'iterations :
        self.it = config.getint('Iterations','it')
        
        #Resultats :
        self.dossier = config.get('Resultats','output_directory_name')
        if not os.path.isdir(self.dossier) :
            os.mkdir(self.dossier)
        