Browse Source

problems with case sensitive parameters

Jachym Cepicky 14 năm trước cách đây
mục cha
commit
1acba9d445
2 tập tin đã thay đổi với 16 bổ sung3 xóa
  1. 14 2
      OWS.py
  2. 2 1
      wms/__init__.py

+ 14 - 2
OWS.py

@@ -61,14 +61,26 @@ class OWS:
         self.parsedUrl = urlparse.urlparse(self.url)
         if self.service == "WFS":
             from owslib.wfs import WebFeatureService
-            self.capabilities = WebFeatureService(url=self.url,version="1.1.0")
+            self.capabilities = WebFeatureService(url=self.url,version="1.0.0")
             logging.debug("OWS Capabilities: %s",self.capabilities)
         elif self.service == "WCS":
             from owslib.wcs import WebCoverageService
             self.capabilities = WebCoverageService(url=self.url,version="1.0.0")
 
     def getParams(self):
-        return urlparse.parse_qs(self.qstring)
+        params =  urlparse.parse_qs(self.qstring)
+
+        if not "VERSION" in params.keys():
+            params["VERSION"] = params.pop("version")
+        if not "LAYERS" in params.keys():
+            params["LAYERS"] = params.pop("layers")
+        if not "FORMAT" in params.keys():
+            params["FORMAT"] = params.pop("format")
+        if not "STYLES" in params.keys():
+            params["STYLES"] = params.pop("styles")
+        if not "TRANSPARENT" in params.keys():
+            params["TRANSPARENT"] = params.pop("transparent")
+        return params
 
     def getOnlineResource(self,onlineresource,mapfilename=None):
         o = urlparse.urlparse(onlineresource)

+ 2 - 1
wms/__init__.py

@@ -28,7 +28,8 @@ class WMS(OWS):
 
         params = self.getParams()
 
-        self.version = params["VERSION"]
+
+        self.version = params["VERSION"][0]
 
         # create layer
         logging.debug("Creating layer %s" % params["LAYERS"][0])