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

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@5529
Revision 5529, 2.5 KB checked in by pnorton, 11 years ago (diff)

Added the style specific display options to the grid and contour renderers. Also added the required JSON.

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    def _get_num_contour_lines(self):
68        return int(self._renderOptions['num_contour_lines'])
69   
70    def _get_default_num_contour_lines(self):
71        return 10
72   
73    def _get_contour_font_size(self):
74        return self._renderOptions['contour_font_size']
75   
76    def _get_default_contour_font_size(self):
77        return 'medium'
78   
79    def _get_contour_label_interval(self):
80        return int(self._renderOptions['contour_label_interval'])
81   
82    def _get_default_contour_label_interval(self):
83        return 1
84   
85    def _get_show_grid_lines(self):
86        return self._renderOptions['show_grid_lines'].lower() == 'True'.lower()
87   
88    def _get_default_show_grid_lines(self):
89        return False
90       
Note: See TracBrowser for help on using the repository browser.