Changeset 4298 for cows/trunk


Ignore:
Timestamp:
07/10/08 15:43:05 (11 years ago)
Author:
domlowe
Message:

Added machinery for parsing filter encoding queries

Location:
cows/trunk/cows
Files:
2 added
2 edited

Legend:

Unmodified
Added
Removed
  • cows/trunk/cows/model/wfs.py

    r4284 r4298  
    1717        #TODO: DefaultSRS 
    1818         
     19      
    1920         
    2021         
    21          
    22          
  • cows/trunk/cows/pylons/wfs_controller.py

    r4292 r4298  
    1818 
    1919from cows.model.wfs import WfsFeatureSummary 
     20from cows.model.filterencoding import FEQuery, FEQueryProcessor 
    2021from cows.model import PossibleValues, WGS84BoundingBox, BoundingBox, Contents 
    2122from cows.pylons import ows_controller 
     
    154155            raise InvalidParameterValue('Version %s not supported' % version, 
    155156                                        'version') 
    156         featureid=self.getOwsParam('featureid') 
    157         #TODO populate self.featureinstances! 
    158         feature=self.featureset.featureinstances[featureid]     
     157 
     158        #Parse the query to analyse the filters it contains 
     159        query=FEQuery(self.getOwsParam('query')) 
     160        filters=query.getFilters() 
     161         
     162        #now apply the filters to the featureset 
     163        qp=FEQueryProcessor(self.featureset, filters) 
     164        #TODO: Group resultset together in a wfs feature collection (use template) 
     165#        return qp.resultset 
     166        c.resultset=qp.resultset 
    159167        response.headers['content-type'] = 'text/xml' 
    160         return feature.toGML() 
    161          
    162         if featureid is not None: 
    163             msg = str(feature) 
    164         else: 
    165             msg = 'No feature specified'           
    166         return msg 
     168        t = ows_controller.templateLoader.load('wfs_featurecollection.xml') 
     169        return t.generate(c=c).render()             
     170 
     171 
     172#        featureid=self.getOwsParam('featureid') 
     173#        #TODO populate self.featureinstances! 
     174#        feature=self.featureset.featureinstances[featureid]     
     175#        response.headers['content-type'] = 'text/xml' 
     176#        return feature.toGML() 
     177#         
    167178     
    168179    
Note: See TracChangeset for help on using the changeset viewer.