From 69170df0fc477f85f1d8e028f7b2bedc7b7d4dbc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ABl=20M=C3=A9liani?= <m.meliani@neogeo-online.net> Date: Tue, 30 Jul 2013 14:05:10 +0200 Subject: [PATCH] Fixed bug about whitespace in sld... --- src/mapfile.py | 16 ++++++++++++---- src/server.py | 1 - 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/mapfile.py b/src/mapfile.py index 1b6c356..75f7d1a 100644 --- a/src/mapfile.py +++ b/src/mapfile.py @@ -137,6 +137,8 @@ class Layer(MetadataMixin): def add_style_sld(self, mf, s_name, new_sld): + + # Because we do not want to apply the sld to real layers by mistake # we need to rename it to something we are sure is not used. sld_layer_name = "__mra_tmp_template" @@ -148,18 +150,23 @@ class Layer(MetadataMixin): xmlsld = parseString(new_sld) try: - name = xmlsld.firstChild.getElementsByTagName("NamedLayer")[0].getElementsByTagName("Name")[0].firstChild.data + xmlsld.firstChild.getElementsByTagName("NamedLayer")[0].getElementsByTagName("Name")[0].firstChild.data = sld_layer_name except: raise ValueError("Bad sld (No NamedLayer/Name)") - # Remove encoding. - _, new_sld = xmlsld.toprettyxml().split("\n", 1) + # Remove encoding ? + # @wapiflapi Mapscript ne gère pas les espaces... + new_sld = xmlsld.toxml() ms_template_layer = self.ms.clone() ms_template_layer.name = sld_layer_name mf.ms.insertLayer(ms_template_layer) + + try: + ms_template_layer.applySLD(new_sld, sld_layer_name) + except: + raise ValueError("Unable to access storage.") - ms_template_layer.applySLD(new_sld, sld_layer_name) for i in xrange(ms_template_layer.numclasses): ms_class = ms_template_layer.getClass(i) ms_class.group = s_name @@ -167,6 +174,7 @@ class Layer(MetadataMixin): mf.ms.removeLayer(ms_template_layer.index) + def set_default_style(self, mf): if self.ms.type == mapscript.MS_LAYER_POINT: diff --git a/src/server.py b/src/server.py index 9b3dbe5..e102054 100755 --- a/src/server.py +++ b/src/server.py @@ -878,7 +878,6 @@ class layerstyles(object): mf = get_mapfile(map_name) try: - print tools.get_style_path(s_name) style = open(tools.get_style_path(s_name)).read() except IOError, OSError: with webapp.mightNotFound("style", mapfile=map_name): -- GitLab