source: qesdi/graphplotter/trunk/graphplotter/controllers/buildplot.py @ 6313

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/qesdi/graphplotter/trunk/graphplotter/controllers/buildplot.py@6313
Revision 6313, 2.2 KB checked in by pnorton, 10 years ago (diff)

First attempt at getting the buildplot action to work.

Line 
1import logging
2
3from pylons import request, response, session, tmpl_context as c
4from pylons.controllers.util import abort, redirect_to
5
6from graphplotter.lib.base import BaseController, render
7
8from graphplotter.lib.df_config_reader import DFConfigReader
9from graphplotter.lib.data_reader import DataReader
10
11from graphplotter.lib.utils import getParams
12
13log = logging.getLogger(__name__)
14
15class BuildplotController(BaseController):
16
17    def index(self):
18       
19        # need a list of all the available data files
20        cr = DFConfigReader()
21       
22        c.dataFiles = [''] + cr.getDataFileList()
23        log.debug("c.dataFiles = %s" % (c.dataFiles,))
24        params = getParams(request)
25       
26        c.selectedDataFile = params.get('datafile', '')
27       
28        # if datafile is selected,
29        if c.selectedDataFile != '':
30           
31            dfConfig = cr.getConfig(c.selectedDataFile)
32            reader = DataReader(dfConfig['path'], dfConfig['axisLookup'])
33           
34            c.variables = [''] + reader.getVariableNames()
35            c.selectedVariable = params.get('variable', '')
36           
37            if c.selectedVariable != '':
38               
39                c.axis = [''] + reader.getAxisNames(c.selectedVariable)
40                c.selectedAxis = params.get('axis', '')
41               
42                if c.selectedAxis != '':
43                   
44                    for k in params:
45                        if k[:4] == 'sel_':
46                            log.debug("k = %s" % (k,))
47                            setattr(c, k, params[k])
48                                           
49                    c.axisSelect = {}
50                   
51                    for ax in c.axis:
52                        if ax in ['', c.selectedAxis]:
53                            continue
54                       
55                        vals = reader.getAxisValues(c.selectedVariable, ax)
56                       
57                        if type(vals[0]) == str:
58                            c.axisSelect[ax] = [''] + vals
59                        else:
60                            c.axisSelect[ax] = "%s - %s" % (min(vals), max(vals))
61       
62        return render('buildplot.html')
Note: See TracBrowser for help on using the repository browser.