Ignore:
Timestamp:
02/02/10 09:55:52 (10 years ago)
Author:
pnorton
Message:

Added the ability to replace a data variables name with a attribute from the variable by putting an '@' character before the alias in the config file.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • qesdi/graphplotter/trunk/graphplotter/controllers/buildplot.py

    r6448 r6464  
    2929        if c.selectedDataFile != '': 
    3030             
     31            log.debug("c.selectedDataFile = %s" % (c.selectedDataFile,)) 
     32             
    3133            self._addDataFileSelection(params, cr) 
    3234             
     
    4042        log.debug("dfConfig = %s" % (dfConfig,)) 
    4143         
     44        log.debug("'dataVariables' in dfConfig = %s" % ('dataVariables' in dfConfig,)) 
     45        log.debug("dfConfig = %s" % (dfConfig,)) 
     46         
     47         
     48        # if there is a dataVariables section, only include the variables 
     49        # in this section, all others are to be ignored. 
    4250        if 'dataVariables' in dfConfig: 
    4351            allVars = reader.getVariableNames() 
    4452             
    45             for v in dfConfig['dataVariables'].keys(): 
    46                 assert v in allVars, 'Variable %s not found in file. Variables found = %s' % (v, allVars) 
     53            c.variables = [('','')] 
     54             
     55            for k, v in dfConfig['dataVariables'].items(): 
    4756                 
    48             c.variables = [('','')] + dfConfig['dataVariables'].items() 
     57                assert k in allVars, 'Variable %s not found in file. Variables found = %s' % (v, allVars) 
     58                 
     59                # the @ sign means use an attribute as the name 
     60                if v.find('@') == 0: 
     61                    name = reader.getVariableAttribute(k, v[1:]) 
     62                else: 
     63                    name = v 
     64                     
     65                c.variables.append( (k, name) ) 
     66             
    4967             
    5068        else: 
     
    5573         
    5674        if c.selectedVariable != '': 
    57              
     75            log.debug("c.selectedVariable = %s" % (c.selectedVariable,)) 
    5876            self._addVariableSelection(params, reader) 
    5977             
     
    6179 
    6280    def _addVariableSelection(self, params, reader): 
    63         c.axis = [''] + reader.getAxisNames(c.selectedVariable) 
     81        axisNames = reader.getAxisNames(c.selectedVariable) 
     82        c.axis = [''] + axisNames 
    6483        c.selectedAxis = params.get('axis', '') 
    6584         
    66         if c.selectedAxis != '': 
     85        log.debug("c.selectedAxis = %s" % (c.selectedAxis,)) 
     86        log.debug("c.axis = %s" % (c.axis,)) 
     87         
     88        # if this axis is the result of a previous selection get rid of it 
     89        if c.selectedAxis not in axisNames: 
     90            c.selectedAxis = '' 
    6791             
     92        if c.selectedAxis != '' : 
    6893            self._addAxisSelection(params, reader) 
    6994             
     
    76101                                 
    77102        c.axisSelect = {} 
     103        c.axisSelectUnits = {} 
    78104         
    79105        for ax in c.axis: 
     
    82108             
    83109            vals = reader.getAxisValues(c.selectedVariable, ax) 
     110                         
     111            c.axisSelect[ax] = [''] + [str(x) for x in vals] 
    84112             
    85             log.debug("vals = %s" % (vals,)) 
    86              
    87             c.axisSelect[ax] = [''] + [str(x) for x in vals] 
     113            units = reader.getAxisUnits(c.selectedVariable, ax) 
     114            c.axisSelectUnits[ax] = units 
    88115         
    89116#        log.debug("c.axisSelect = %s" % (c.axisSelect,)) 
Note: See TracChangeset for help on using the changeset viewer.