classe_variable.py 2.99 KB
#########################################################
# Classe variable pour les fichiers ODF
#
# Pour chaque variable du fichier, on enmagasine
# le nom, le code, les unites, le Print_field_width, le print_decimal_places
# et on attribue un numero a la variable.
# Ce numero permet de trouver l'objet variable contenant
# les parametres de controle de qualite d'une variable donnee:
# Par exemple, si la variable temperature a le numero 1, ses QQQQ ont
# le numero 2
#
#James Caveen : juillet 2006
#
#Parametres d'instanciation:
#    num_var: numero sequentiel de la variable
#    nom: Nom complet (e.g., 'Sensor Depth Below...)
#    code: Nom court (e.g., DEPH_01)
#    unites: unites de la variable
#    p_f_w: Print field width (utilise par getvaleur)
#    p_d_p: Print decimal places (utilise par getvaleur)
#
#$Id$
#
################################################################



class variable:
    def __init__(self,name,units,types,code,gf3,btl2gf3,decimal,desc):
        self.name = name
        self.units = units
        self.type=types
        self.code = code
        self.gf3 = gf3
        self.btl2gf3 = btl2gf3
        self.decimal = decimal
        self.desc = desc
        self.valeurs=[]
    def __str__(self):
        return "nom:%s Unites: %s type: %s Code:  %s gf3:  %s btl2gf3:  %s decimal:  %s desc:  %s" % \
               (self.name,self.units,self.type,self.code,self.gf3,self.btl2gf3,self.decimal,self.desc)


    def getname(self):
        '''Obtenir le numero sequentiel de la variable'''
        return self.name
    def getunits (self):
        '''Obtenir le nom complet de la variable,
           Par exemple: Sensor depth below surface'''
        return self.units
    def getcode (self):
        '''Obtenir le nom court de la variable.
           Par exemple: DEPH01'''
        return self.code
    def gettype (self):
        '''Obtenir les unites de la variable'''
        return self.type
    def getgf3(self):
        '''Obtenir le PFW (floating point width) de la variable'''
        return self.gf3
    def getbtl2gf3 (self):
        '''Obtenir le PDP (Precision decimal places) de la variable'''
        return self.btl2gf3

    def getdecimal(self):
        '''Obtenir le nombre de valeurs associees a la variable'''
        return self.decimal
    def getdesc(self):
        '''Obtenir le nombre de valeurs associees a la variable'''
        return self.desc
    def replaceallvaleurs(self, valeurs):
        '''Remplacer toutes les valeurs de la variable par une
           nouvelle liste de valeurs'''
        self.valeurs[:] = valeurs
    def createVar(self,name_dim,valeurs):
        self.nom=self.getname()
        self.name_dim.units=self.getunits()
        self.name_dim.type=self.gettype()
        self.name_dim.code=self.getcode()
        self.name_dim.gf3=self.getgf3()
        self.name_dim.btl2gf3=self.getbtl2gf3()
        self.name_dim.decimal=self.getdecimal()
        self.name_dim.desc=self.getdesc()
        self.name_dim[:]=self.replaceallvaleurs(valeurs)
        return self.name_dim