Changeset 5059 for cows


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

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

Location:
cows/trunk
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • cows/trunk/cows/pylons/templates/catalogue.xml

    r4949 r5059  
    3131                            >WFS</a>] 
    3232        --> 
     33        [<a href="${url_for(controller='demo', fileoruri=fc)}" 
     34                            >Demo</a>] 
    3335      </li> 
    3436    </ul> 
  • 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): 
  • cows/trunk/cows/test/testapp/wsgiapp.py

    r4912 r5059  
    1313from paste.urlparser import StaticURLParser 
    1414from paste.deploy.converters import asbool 
    15 from pylons import config 
     15 
     16import pylons 
    1617from pylons.error import error_template 
    1718from pylons.middleware import error_mapper, ErrorDocuments, ErrorHandler, \ 
     
    3435 
    3536    # Initialize config with the basic options 
    36     config.init_app(global_conf, app_conf, package='cows.test.testapp', 
     37    pylons.config.init_app(global_conf, app_conf, package='cows.test.testapp', 
    3738                    template_engine='mako', paths=paths) 
    3839 
    39     config['routes.map'] = make_map() 
    40     config['pylons.g'] = Globals() 
    41     config['pylons.h'] = cows.test.testapp.helpers 
     40    pylons.config['routes.map'] = make_map() 
     41    pylons.config['pylons.g'] = Globals() 
     42    pylons.config['pylons.h'] = cows.test.testapp.helpers 
    4243 
    4344    # Customize templating options via this variable 
    44     tmpl_options = config['buffet.template_options'] 
     45    tmpl_options = pylons.config['buffet.template_options'] 
    4546 
    4647    # CONFIGURATION OPTIONS HERE (note: all config options will override 
     
    7475    # CUSTOM MIDDLEWARE HERE (filtered by error handling middlewares) 
    7576 
     77    if pylons.__version__ >= '0.9.7': 
     78        # Routing/Session/Cache Middleware 
     79        from beaker.middleware import CacheMiddleware, SessionMiddleware 
     80        from routes.middleware import RoutesMiddleware 
     81        app = RoutesMiddleware(app, pylons.config['routes.map']) 
     82        app = SessionMiddleware(app, pylons.config) 
     83        app = CacheMiddleware(app, pylons.config) 
     84 
    7685    if asbool(full_stack): 
    7786        # Handle Python exceptions 
    7887        app = ErrorHandler(app, global_conf, error_template=error_template, 
    79                            **config['pylons.errorware']) 
     88                           **pylons.config['pylons.errorware']) 
    8089 
    8190        # Display error documents for 401, 403, 404 status codes (and 
     
    8897    # Static files 
    8998    javascripts_app = StaticJavascripts() 
    90     static_app = StaticURLParser(config['pylons.paths']['static_files']) 
     99    static_app = StaticURLParser(pylons.config['pylons.paths']['static_files']) 
    91100    app = Cascade([static_app, javascripts_app, app]) 
    92101    return app 
  • cows/trunk/setup.cfg

    r4973 r5059  
    11[egg_info] 
    22tag_svn_revision = false 
     3 
     4[nosetests] 
     5with-doctest=1 
     6doctest-extension=.txt 
  • cows/trunk/setup.py

    r5036 r5059  
    1212    # We only list dependencies that we are confident will easy_install without 
    1313    # a hitch here. 
    14     install_requires=['Paste>=1.7', ], 
     14    install_requires=['Paste>=1.7', 'matplotlib>=0.98'], 
    1515 
    1616    classifiers=[ 
Note: See TracChangeset for help on using the changeset viewer.