def fews_symbol_name( jdbc_source, filterkey, locationkey, parameterkey, nodata=False, styles=None, lookup=None): """ Find fews symbol name. Copied from lizard_fewsunblobbed. """ # determine icon layout by looking at filter.id # style_name = 'adf' # if str(filterkey) in LAYER_STYLES: # icon_style = copy.deepcopy(LAYER_STYLES[str(filterkey)]) # else: # icon_style = copy.deepcopy(LAYER_STYLES['default']) style_name, icon_style = IconStyle.style( jdbc_source, filterkey, locationkey, parameterkey, styles, lookup) #make icon grey if nodata: icon_style['color'] = (0.9, 0.9, 0.9, 0) # apply icon layout using symbol manager symbol_manager = SymbolManager( ICON_ORIGINALS, os.path.join(settings.MEDIA_ROOT, 'generated_icons')) output_filename = symbol_manager.get_symbol_transformed( icon_style['icon'], **icon_style) return style_name, output_filename
def fews_symbol_name(jdbc_source, filterkey, locationkey, parameterkey, nodata=False, styles=None, lookup=None): """ Find fews symbol name. Copied from lizard_fewsunblobbed. """ if isinstance(jdbc_source, JdbcSource): style_name, icon_style = IconStyle.style( jdbc_source, filterkey, locationkey, parameterkey, styles, lookup) else: style_name, icon_style = IconStyleWebRS.style( jdbc_source, filterkey, locationkey, parameterkey, styles, lookup) #make icon grey if nodata: icon_style['color'] = (0.9, 0.9, 0.9, 0) # apply icon layout using symbol manager symbol_manager = SymbolManager( ICON_ORIGINALS, os.path.join(settings.MEDIA_ROOT, 'generated_icons')) output_filename = symbol_manager.get_symbol_transformed( icon_style['icon'], **icon_style) return style_name, output_filename
def test_empty(self): """Do not crash when no iconstyles are available, just return default. """ expected = ( '::::::', {'icon': 'meetpuntPeil.png', 'mask': ('meetpuntPeil_mask.png', ), 'color': (0.0, 0.5, 1.0, 1.0)}) jdbc_source = JdbcSource.objects.all()[0] self.assertEqual( IconStyle.style(jdbc_source, 'filterx', 'loc1', 'par1'), expected)
def test_not_found(self): """Do not crash when corresponding iconstyle is notavailable, just return default. """ IconStyle(jdbc_source=None, fews_filter='filter1', fews_location='', fews_parameter='', icon='filter1.png', mask='mask.png', color='00ffff').save() expected = ( '::::::', {'icon': 'meetpuntPeil.png', 'mask': ('meetpuntPeil_mask.png', ), 'color': (0.0, 0.5, 1.0, 1.0)}) jdbc_source = JdbcSource.objects.all()[0] self.assertEqual( IconStyle.style(jdbc_source, 'filterx', 'loc1', 'par1'), expected)
def test_style(self): """See if style() output correspond to expected lookup. """ IconStyle(jdbc_source=None, fews_filter='', fews_location='', fews_parameter='', icon='icon.png', mask='mask.png', color='ff00ff').save() IconStyle(jdbc_source=None, fews_filter='filter1', fews_location='', fews_parameter='', icon='filter1.png', mask='mask.png', color='00ffff').save() IconStyle(jdbc_source=None, fews_filter='', fews_location='par1', fews_parameter='', icon='par1.png', mask='mask.png', color='00ffff').save() IconStyle(jdbc_source=None, fews_filter='filter1', fews_location='loc1', fews_parameter='', icon='loc1.png', mask='mask.png', color='00ffff').save() IconStyle(jdbc_source=None, fews_filter='filter1', fews_location='loc1', fews_parameter='par1', icon='par1.png', mask='mask.png', color='00ffff').save() IconStyle(jdbc_source=None, fews_filter='', fews_location='loc1', fews_parameter='par1', icon='loc1par1.png', mask='mask.png', color='00ffff').save() jdbc_source = JdbcSource.objects.all()[0] expected1 = ( '::::::', {'icon': 'icon.png', 'mask': ('mask.png', ), 'color': (1.0, 0.0, 1.0, 1.0)}) self.assertEqual( IconStyle.style(jdbc_source, 'filterx', 'locy', 'parz'), expected1) self.assertEqual( IconStyle.style(jdbc_source, 'filterx', 'locy', 'parz', ignore_cache=True), expected1) expected2 = ( '::filter1::::', {'icon': 'filter1.png', 'mask': ('mask.png', ), 'color': (0.0, 1.0, 1.0, 1.0)}) self.assertEqual( IconStyle.style(jdbc_source, 'filter1', 'l', 'p'), expected2) self.assertEqual( IconStyle.style(jdbc_source, 'filter1', 'l', 'p', ignore_cache=True), expected2) expected3 = ( '::filter1::loc1::', {'icon': 'loc1.png', 'mask': ('mask.png', ), 'color': (0.0, 1.0, 1.0, 1.0)}) self.assertEqual( IconStyle.style(jdbc_source, 'filter1', 'loc1', 'p'), expected3) expected4 = ( '::filter1::loc1::par1', {'icon': 'par1.png', 'mask': ('mask.png', ), 'color': (0.0, 1.0, 1.0, 1.0)}) self.assertEqual( IconStyle.style(jdbc_source, 'filter1', 'loc1', 'par1'), expected4) expected5 = ( '::::loc1::par1', {'icon': 'loc1par1.png', 'mask': ('mask.png', ), 'color': (0.0, 1.0, 1.0, 1.0)}) self.assertEqual( IconStyle.style(jdbc_source, 'filterx', 'loc1', 'par1'), expected5)