Ignore:
Timestamp:
03/03/09 15:51:27 (13 years ago)
Author:
spascoe
Message:

Some fixes for Pylons 0.9.7. Implemented JSON GetContext? format.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cows/trunk/cows/pylons/wms_controller.py

    r4912 r5059  
    2323 
    2424import Image 
    25 from genshi.template import TextTemplate 
     25from genshi.template import NewTextTemplate 
    2626 
    2727from cows.model.wms import WmsDatasetSummary, Dimension 
     
    8181        if format == 'application/json': 
    8282            t = ows_controller.templateLoader.load('wms_capabilities_json_g04.txt', 
    83                                                    cls=TextTemplate) 
     83                                                   cls=NewTextTemplate) 
    8484        elif version == '1.1.1': 
    8585            t = ows_controller.templateLoader.load('wms_capabilities_1_1_1.xml') 
     
    9797 
    9898        """ 
     99        #!TODO: Add json format to GetCapabilities operation 
     100 
    99101        ows_controller.addOperation('GetMap', formats=self._pilImageFormats.keys()) 
    100         ows_controller.addOperation('GetContext') 
     102        ows_controller.addOperation('GetContext', formats=['text/xml', 'application/json']) 
    101103        ows_controller.addOperation('GetLegend', 
    102104                                    formats=['image/png']) 
     
    388390        # Parameters 
    389391        layers = self.getOwsParam('layers', default=None) 
     392        format = self.getOwsParam('format', default='text/xml') 
    390393 
    391394        # Filter self.layers for selected layers 
     
    411414        self._loadCapabilities() 
    412415 
    413         response.headers['Content-Type'] = 'text/xml' 
    414         t = ows_controller.templateLoader.load('wms_context_1_1_1.xml') 
    415         return t.generate(c=c).render() 
     416        if format == 'text/xml': 
     417            response.headers['Content-Type'] = format 
     418            t = ows_controller.templateLoader.load('wms_context_1_1_1.xml') 
     419            return t.generate(c=c).render() 
     420        elif format == 'application/json': 
     421            response.headers['Content-Type'] = format 
     422            t = ows_controller.templateLoader.load('wms_context_json.txt', 
     423                                                   cls=NewTextTemplate) 
     424            return t.generate(c=c).render() 
     425        else: 
     426            raise InvalidParameterValue('Format %s not supported' % format) 
    416427 
    417428    def GetFeatureInfo(self): 
Note: See TracChangeset for help on using the changeset viewer.