source: qesdi/wms_ddc_vis/trunk/lib/wms_ddc_vis/model/ddc_render_options_parser.py @ 5500

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/qesdi/wms_ddc_vis/trunk/lib/wms_ddc_vis/model/ddc_render_options_parser.py@5500
Revision 5500, 1.8 KB checked in by pnorton, 11 years ago (diff)

Added some JSON to describe the rendering options. Also moved all the common layer slab code to a base slab object.

Line 
1import logging
2import mock
3
4from matplotlib import cm
5from cows.service.imps.csmlbackend.config import config
6
7log = logging.getLogger(__name__)
8
9class DDCRenderOptionsParser(object):
10   
11    def __init__(self, renderOptions, varMin, varMax):
12        self._renderOptions = renderOptions
13        self._variableMin = varMin
14        self._variableMax = varMax
15       
16    def getOption(self, optionName):
17       
18        return self._getOption(optionName)
19   
20    def _getOption(self, optionName):
21       
22        value = None;
23
24        if optionName in self._renderOptions:
25            value = self._getOptionFromDict(optionName)
26       
27        if value == None:
28            value = self._getDefaultForOption(optionName)
29       
30        return value
31   
32    def _getOptionFromDict(self, optionName):
33       
34        value = None
35       
36        try:
37            retrieveFn = getattr(self, '_get_' + optionName)
38            value = retrieveFn()
39        except:
40            log.exception("Error getting option %s from renderOptions=%s" % (optionName, self._renderOptions))
41            value = None
42           
43        return value
44
45    def _getDefaultForOption(self, optionName):
46        retrieveFn = getattr(self, '_get_default_' + optionName)
47        return retrieveFn()
48       
49    def _get_cmap(self):
50        return cm.get_cmap(self._renderOptions['cmap'])
51   
52    def _get_default_cmap(self):
53        return cm.get_cmap(config['colourmap'])
54   
55    def _get_cmap_min(self):
56        return float(self._renderOptions['cmap_min'])
57   
58    def _get_default_cmap_min(self):
59        return self._variableMin;
60   
61    def _get_cmap_max(self):
62        return float(self._renderOptions['cmap_max'])
63   
64    def _get_default_cmap_max(self):
65        return self._variableMax;
66 
67 
68       
Note: See TracBrowser for help on using the repository browser.