Explorar o código

added support for filter

Jachym Cepicky %!s(int64=14) %!d(string=hai) anos
pai
achega
8359f4c8bb
Modificáronse 1 ficheiros con 11 adicións e 0 borrados
  1. 11 0
      OWS.py

+ 11 - 0
OWS.py

@@ -129,6 +129,10 @@ class OWS:
             else:
                 mapobj = self.makeMap(request.getValueByName("map"))
 
+        # WFS Filter encoding, if available
+        if request.getValueByName("fes"):
+            self.setFilter(mapobj,request)
+
         mapobj.OWSDispatch(request)
 
     def getMapObj(self,mapfilename=None):
@@ -256,6 +260,13 @@ class OWS:
                     (layer.id,bbox))
         return bbox
 
+    def setFilter(self,mapobj,request):
+        """ Set WFS filter encoding 
+        """
+        logging.debug("Setting filter for layer %s to %s" % (request.getValueByName("layers"),request.getValueByName("fes")))
+        layerobj = mapobj.getLayerByName(request["layers"])
+        layerobj.setMetaData("wfs_filter",request.getValueByName("fes"))
+
 def getService():
 
     qstring = os.environ["QUERY_STRING"]