Преглед на файлове

add classobj necessary for the WMS STYLES parameter

Jachym Cepicky преди 13 години
родител
ревизия
7da28e4320
променени са 1 файла, в които са добавени 18 реда и са изтрити 2 реда
  1. 18 2
      wms/__init__.py

+ 18 - 2
wms/__init__.py

@@ -48,12 +48,28 @@ class WMS(OWS):
         if "EXCEPTIONS" in params.keys():
             lyrobj.setMetaData("wms_exceptions_format",params["EXCEPTIONS"][0])
         else:
-            lyrobj.setMetaData("wms_exceptions_format","inimage")
+            lyrobj.setMetaData("wms_exceptions_format","text/xml")
         if "FORMAT" in params.keys():
             lyrobj.setMetaData("wms_formatlist",params["FORMAT"][0])
+            lyrobj.setMetaData("wms_format",params["FORMAT"][0])
         else:
             lyrobj.setMetaData("wms_formatlist","image/png")
-        lyrobj.setMetaData("wms_style",params["STYLES"][0])
+            lyrobj.setMetaData("wms_format","image/png")
+
+        # Style
+        if "STYLES" in params.keys() and len(params["STYLES"]) > 0:
+            lyrobj.setMetaData("wms_style",params["STYLES"][0])
+
+            lyrobj.setMetaData("wms_style_%s_legendurl_href" % params["STYLES"][0],"http://foo/bar")
+            lyrobj.setMetaData("wms_style_%s_legendurl_width" % params["STYLES"][0],"1")
+            lyrobj.setMetaData("wms_style_%s_legendurl_height" % params["STYLES"][0],"1")
+            lyrobj.setMetaData("wms_style_%s_legendurl_format" % params["STYLES"][0],"image/png")
+
+            # classobj is needed for given STYLE as well
+            classobj = mapscript.classObj(lyrobj)
+            classobj.name = params["STYLES"][0]
+            classobj.group = params["STYLES"][0]
+
         if "TRANSPARENT" in params.keys():
             lyrobj.setMetaData("wms_transparent",params["TRANSPARENT"][0])
         else: