MapProxy 2.2.0__tar.gz → 3.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {MapProxy-2.2.0 → MapProxy-3.0.0}/CHANGES.txt +23 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/MapProxy.egg-info/PKG-INFO +24 -26
- {MapProxy-2.2.0 → MapProxy-3.0.0}/MapProxy.egg-info/SOURCES.txt +1 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/PKG-INFO +24 -26
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/caches.rst +1 -1
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/configuration.rst +10 -10
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/config/loader.py +2 -3
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/exception.py +39 -3
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/ows.py +20 -2
- MapProxy-3.0.0/mapproxy/service/templates/ows_exception.xml +10 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/seed.yaml +7 -2
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_legendgraphic.py +6 -6
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_renderd_client.py +3 -3
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_response_headers.py +1 -1
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_seed.py +16 -3
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_source_errors.py +4 -4
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_wms.py +31 -31
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_wmsc.py +3 -3
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_client.py +5 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_exceptions.py +86 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/requirements-tests.txt +15 -15
- {MapProxy-2.2.0 → MapProxy-3.0.0}/setup.py +1 -1
- {MapProxy-2.2.0 → MapProxy-3.0.0}/AUTHORS.txt +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/COPYING.txt +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/LICENSE.txt +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/MANIFEST.in +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/MapProxy.egg-info/dependency_links.txt +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/MapProxy.egg-info/entry_points.txt +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/MapProxy.egg-info/not-zip-safe +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/MapProxy.egg-info/requires.txt +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/MapProxy.egg-info/top_level.txt +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/README.md +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/GM.txt +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/_static/logo.png +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/_static/logo_title.png +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/_static/mapproxy.css +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/_templates/versions.html +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/auth.rst +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/caching_layer_dimensions.rst +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/conf.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/configuration_examples.rst +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/coverages.rst +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/decorate_img.rst +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/deployment.rst +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/development.rst +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/imgs/bicubic.png +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/imgs/bilinear.png +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/imgs/labeling-dynamic.png +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/imgs/labeling-meta-buffer.png +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/imgs/labeling-metatiling-buffer.png +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/imgs/labeling-metatiling.png +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/imgs/labeling-no-clip.png +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/imgs/labeling-no-placement.png +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/imgs/labeling-partial-false.png +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/imgs/labeling-repeated.png +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/imgs/mapnik-webmerc-hq.png +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/imgs/mapnik-webmerc.png +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/imgs/mapproxy-demo.png +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/imgs/nearest.png +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/index.rst +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/inspire.rst +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/install.rst +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/install_docker.rst +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/install_osgeo4w.rst +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/install_windows.rst +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/labeling.rst +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/mapproxy_util.rst +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/mapproxy_util_autoconfig.rst +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/plugins.rst +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/seed.rst +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/services.rst +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/sources.rst +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/tutorial.rst +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/tutorial.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/yaml/cache_conf.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/yaml/grid_conf.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/yaml/merged_conf.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/yaml/meta_conf.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/yaml/seed.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/doc/yaml/simple_conf.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/__init__.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/cache/__init__.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/cache/azureblob.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/cache/base.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/cache/compact.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/cache/couchdb.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/cache/dummy.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/cache/file.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/cache/geopackage.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/cache/legend.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/cache/mbtiles.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/cache/meta.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/cache/path.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/cache/redis.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/cache/renderd.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/cache/riak.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/cache/s3.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/cache/tile.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/client/__init__.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/client/arcgis.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/client/cgi.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/client/http.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/client/log.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/client/tile.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/client/wms.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/compat/__init__.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/compat/image.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/config/__init__.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/config/config-schema.json +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/config/config.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/config/coverage.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/config/defaults.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/config/spec.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/config/validator.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/config_template/__init__.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/config_template/base_config/config.wsgi +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/config_template/base_config/full_example.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/config_template/base_config/full_seed_example.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/config_template/base_config/log.ini +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/config_template/base_config/mapproxy.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/config_template/base_config/seed.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/featureinfo.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/grid.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/image/__init__.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/image/fonts/DejaVuSans.ttf +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/image/fonts/DejaVuSansMono.ttf +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/image/fonts/LICENSE +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/image/fonts/__init__.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/image/mask.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/image/merge.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/image/message.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/image/opts.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/image/tile.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/image/transform.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/layer.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/multiapp.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/proj.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/request/__init__.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/request/arcgis.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/request/base.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/request/tile.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/request/wms/__init__.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/request/wms/exception.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/request/wmts.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/response.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/script/__init__.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/script/conf/__init__.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/script/conf/app.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/script/conf/caches.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/script/conf/geopackage.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/script/conf/layers.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/script/conf/seeds.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/script/conf/sources.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/script/conf/utils.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/script/defrag.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/script/export.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/script/grids.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/script/scales.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/script/util.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/script/wms_capabilities.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/seed/__init__.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/seed/cachelock.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/seed/cleanup.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/seed/config.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/seed/script.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/seed/seeder.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/seed/spec.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/seed/util.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/__init__.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/base.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/demo.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/kml.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/template_helper.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/demo/capabilities_demo.html +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/demo/demo.html +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/demo/openlayers-demo.cfg +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/img/blank.gif +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/img/east-mini.png +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/img/north-mini.png +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/img/south-mini.png +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/img/west-mini.png +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/img/zoom-minus-mini.png +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/img/zoom-plus-mini.png +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/img/zoom-world-mini.png +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/logo.png +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/ol.css +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/ol.js +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/proj4.min.js +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/proj4defs.js +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/site.css +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/theme/default/framedCloud.css +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/theme/default/google.css +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/theme/default/ie6-style.css +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/theme/default/style.css +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static.html +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/demo/tms_demo.html +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/demo/wms_demo.html +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/demo/wmts_demo.html +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/tms_capabilities.xml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/tms_exception.xml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/tms_root_resource.xml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/tms_tilemap_capabilities.xml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/wms100capabilities.xml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/wms100exception.xml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/wms110capabilities.xml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/wms110exception.xml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/wms111capabilities.xml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/wms111exception.xml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/wms130capabilities.xml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/wms130exception.xml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/wmts100capabilities.xml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/templates/wmts100exception.xml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/tile.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/wms.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/service/wmts.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/source/__init__.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/source/arcgis.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/source/error.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/source/mapnik.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/source/tile.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/source/wms.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/srs.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/template.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/__init__.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/conftest.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/helper.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/http.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/image.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/mocker.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/common.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_bul.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_cze.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_dan.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_dut.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_eng.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_est.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_fin.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_fre.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_ger.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_gle.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_gre.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_hun.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_ita.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_lav.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_lit.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_mlt.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_pol.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_por.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_rum.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_slo.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_slv.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_spa.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_swe.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/network.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/inspire_vs/1.0/inspire_vs.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/kml/2.2.0/ReadMe.txt +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/kml/2.2.0/atom-author-link.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/kml/2.2.0/ogckml22.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/kml/2.2.0/xAL.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/ows/1.1.0/ReadMe.txt +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/ows/1.1.0/ows19115subset.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/ows/1.1.0/owsAll.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/ows/1.1.0/owsCommon.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/ows/1.1.0/owsContents.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/ows/1.1.0/owsDataIdentification.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/ows/1.1.0/owsDomainType.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/ows/1.1.0/owsExceptionReport.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/ows/1.1.0/owsGetCapabilities.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/ows/1.1.0/owsGetResourceByID.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/ows/1.1.0/owsInputOutputData.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/ows/1.1.0/owsManifest.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/ows/1.1.0/owsOperationsMetadata.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/ows/1.1.0/owsServiceIdentification.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/ows/1.1.0/owsServiceProvider.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/sld/1.1.0/sld_capabilities.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.0.0/capabilities_1_0_0.dtd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.0.0/capabilities_1_0_0.xml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.0.7/capabilities_1_0_7.dtd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.0.7/capabilities_1_0_7.xml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.1.0/capabilities_1_1_0.dtd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.1.0/capabilities_1_1_0.xml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.1.0/exception_1_1_0.dtd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.1.0/exception_1_1_0.xml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.1.1/OGC-exception.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.1.1/WMS_DescribeLayerResponse.dtd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.1.1/WMS_MS_Capabilities.dtd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.1.1/WMS_exception_1_1_1.dtd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.1.1/capabilities_1_1_1.dtd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.1.1/capabilities_1_1_1.xml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.1.1/exception_1_1_1.dtd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.1.1/exception_1_1_1.xml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.3.0/ReadMe.txt +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.3.0/capabilities_1_3_0.xml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.3.0/capabilities_1_3_0.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.3.0/exceptions_1_3_0.xml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.3.0/exceptions_1_3_0.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wmsc/1.1.1/OGC-exception.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wmsc/1.1.1/WMS_DescribeLayerResponse.dtd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wmsc/1.1.1/WMS_MS_Capabilities.dtd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wmsc/1.1.1/WMS_exception_1_1_1.dtd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wmsc/1.1.1/capabilities_1_1_1.dtd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wmsc/1.1.1/capabilities_1_1_1.xml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wmsc/1.1.1/exception_1_1_1.dtd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wmsc/1.1.1/exception_1_1_1.xml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wmts/1.0/ReadMe.txt +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wmts/1.0/wmts.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wmts/1.0/wmtsAbstract.wsdl +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wmts/1.0/wmtsGetCapabilities_request.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wmts/1.0/wmtsGetCapabilities_response.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wmts/1.0/wmtsGetFeatureInfo_request.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wmts/1.0/wmtsGetFeatureInfo_response.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wmts/1.0/wmtsGetTile_request.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wmts/1.0/wmtsKVP.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/wmts/1.0/wmtsPayload_response.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/xlink/1.0.0/ReadMe.txt +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/xlink/1.0.0/xlinks.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/schemas/xml.xsd +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/__init__.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/arcgis.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/auth.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/cache.mbtiles +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/cache_azureblob.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/cache_band_merge.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/cache_bulk_meta_tiles.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/cache_coverage.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/cache_data/dop_cache_EPSG3857/00/000/000/000/000/000/000.png +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/cache_data/wms_cache_EPSG900913/01/000/000/000/000/000/001.jpeg +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/cache_data/wms_cache_transparent_EPSG900913/01/000/000/000/000/000/001.png +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/cache_geopackage.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/cache_grid_names.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/cache_mbtiles.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/cache_s3.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/cache_source.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/combined_sources.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/coverage.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/demo.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/dimension.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/disable_storage.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/empty_ogrdata.geojson +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/formats.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/inspire.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/inspire_full.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/kml_layer.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/layer.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/layergroups.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/layergroups_root.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/legendgraphic.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/mapnik_source.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/mapproxy_export.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/mapserver.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/minimal_cgi.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/mixed_mode.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/multi_cache_layers.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/multiapp1.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/multiapp2.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/renderd_client.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/scalehints.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/seed_mapproxy.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/seed_old.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/seed_timeouts.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/seed_timeouts_mapproxy.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/seedonly.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/sld.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/source_errors.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/source_errors_raise.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/tileservice_origin.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/tileservice_refresh.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/tilesource_minmax_res.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/util-conf-base-grids.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/util-conf-overwrite.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/util-conf-wms-111-cap.xml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/util_grids.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/util_wms_capabilities111.xml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/util_wms_capabilities130.xml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/util_wms_capabilities_service_exception.xml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/watermark.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/wms_srs_extent.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/wms_versions.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/wmts.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/wmts_dimensions.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/xslt_featureinfo.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/fixture/xslt_featureinfo_input.yaml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_arcgis.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_auth.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_behind_proxy.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_bulk_meta_tiles.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_cache_azureblob.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_cache_band_merge.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_cache_coverage.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_cache_geopackage.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_cache_grid_names.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_cache_mbtiles.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_cache_s3.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_cache_source.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_combined_sources.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_coverage.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_decorate_img.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_demo.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_demo_with_extra_service.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_dimensions.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_disable_storage.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_formats.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_inspire_vs.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_kml.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_layergroups.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_mapnik.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_mapserver.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_mixed_mode_format.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_multi_cache_layers.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_multiapp.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_refresh.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_scalehints.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_seed_only.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_sld.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_tilesource_minmax_res.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_tms.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_tms_origin.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_util_conf.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_util_export.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_util_grids.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_util_wms_capabilities.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_watermark.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_wms_srs_extent.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_wms_version.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_wmts.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_wmts_dimensions.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_wmts_restful.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/system/test_xslt_featureinfo.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/test_http_helper.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/__init__.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/epsg +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/polygons/polygons.dbf +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/polygons/polygons.shp +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/polygons/polygons.shx +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_async.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_auth.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_cache.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_cache_azureblob.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_cache_compact.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_cache_couchdb.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_cache_geopackage.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_cache_redis.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_cache_riak.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_cache_s3.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_cache_tile.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_client_arcgis.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_client_cgi.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_collections.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_concat_legends.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_conf_loader.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_conf_validator.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_config.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_decorate_img.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_featureinfo.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_file_lock_load.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_geom.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_grid.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_image.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_image_mask.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_image_messages.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_image_options.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_isodate.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_multiapp.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_ogr_reader.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_request.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_request_wmts.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_response.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_seed.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_seed_cachelock.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_srs.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_tiled_source.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_tilefilter.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_times.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_timeutils.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_util_conf_utils.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_utils.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_wms_capabilities.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_wms_layer.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/test/unit/test_yaml.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/tilefilter.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/__init__.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/async_.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/collections.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/coverage.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/ext/__init__.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/ext/dictspec/__init__.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/ext/dictspec/spec.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/ext/dictspec/test/__init__.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/ext/dictspec/test/test_validator.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/ext/dictspec/validator.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/ext/local.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/ext/lockfile.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/ext/odict.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/ext/serving.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/ext/tempita/__init__.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/ext/tempita/_looper.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/ext/tempita/string_utils.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/ext/wmsparse/__init__.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/ext/wmsparse/duration.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/ext/wmsparse/parse.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/ext/wmsparse/test/__init__.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/ext/wmsparse/test/test_parse.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/ext/wmsparse/test/test_util.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/ext/wmsparse/test/wms-example-111.xml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/ext/wmsparse/test/wms-example-130.xml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/ext/wmsparse/test/wms-large-111.xml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/ext/wmsparse/test/wms_nasa_cap.xml +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/ext/wmsparse/util.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/fs.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/geom.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/lib.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/lock.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/ogr.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/py.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/times.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/util/yaml.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/version.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/mapproxy/wsgiapp.py +0 -0
- {MapProxy-2.2.0 → MapProxy-3.0.0}/setup.cfg +0 -0
|
@@ -1,3 +1,26 @@
|
|
|
1
|
+
3.0.0 2024-08-27
|
|
2
|
+
~~~~~~~~~~~~~~~~
|
|
3
|
+
|
|
4
|
+
Breaking:
|
|
5
|
+
|
|
6
|
+
- Add proper XML Exception when service parameter disabled / invalid or missing
|
|
7
|
+
In the past MapProxy returned WMS Capabilities when no explicit service parameter was given in
|
|
8
|
+
GetCapabilities requests. With this change, an OGC exception will be returned instead.
|
|
9
|
+
Invalid service types now also return a proper exception instead of an `internal error`.
|
|
10
|
+
Besides, the status code of exception responses now have a 400 or 500 code instead of 200
|
|
11
|
+
for better conformity.
|
|
12
|
+
|
|
13
|
+
Maintenance:
|
|
14
|
+
|
|
15
|
+
- Add test for seeding sqlite cache
|
|
16
|
+
- Documentation updates and clarifications
|
|
17
|
+
- Dependency updates
|
|
18
|
+
|
|
19
|
+
Fixes:
|
|
20
|
+
|
|
21
|
+
- Fix gh-pages workflow
|
|
22
|
+
|
|
23
|
+
|
|
1
24
|
2.2.0 2024-07-24
|
|
2
25
|
~~~~~~~~~~~~~~~~
|
|
3
26
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: MapProxy
|
|
3
|
-
Version:
|
|
3
|
+
Version: 3.0.0
|
|
4
4
|
Summary: An accelerating proxy for tile and web map services
|
|
5
5
|
Home-page: https://mapproxy.org
|
|
6
6
|
Author: Oliver Tonnhofer
|
|
@@ -34,6 +34,29 @@ The documentation is available at: http://mapproxy.github.io/mapproxy/latest/
|
|
|
34
34
|
|
|
35
35
|
Changes
|
|
36
36
|
-------
|
|
37
|
+
3.0.0 2024-08-27
|
|
38
|
+
~~~~~~~~~~~~~~~~
|
|
39
|
+
|
|
40
|
+
Breaking:
|
|
41
|
+
|
|
42
|
+
- Add proper XML Exception when service parameter disabled / invalid or missing
|
|
43
|
+
In the past MapProxy returned WMS Capabilities when no explicit service parameter was given in
|
|
44
|
+
GetCapabilities requests. With this change, an OGC exception will be returned instead.
|
|
45
|
+
Invalid service types now also return a proper exception instead of an `internal error`.
|
|
46
|
+
Besides, the status code of exception responses now have a 400 or 500 code instead of 200
|
|
47
|
+
for better conformity.
|
|
48
|
+
|
|
49
|
+
Maintenance:
|
|
50
|
+
|
|
51
|
+
- Add test for seeding sqlite cache
|
|
52
|
+
- Documentation updates and clarifications
|
|
53
|
+
- Dependency updates
|
|
54
|
+
|
|
55
|
+
Fixes:
|
|
56
|
+
|
|
57
|
+
- Fix gh-pages workflow
|
|
58
|
+
|
|
59
|
+
|
|
37
60
|
2.2.0 2024-07-24
|
|
38
61
|
~~~~~~~~~~~~~~~~
|
|
39
62
|
|
|
@@ -136,31 +159,6 @@ Fixes:
|
|
|
136
159
|
- Some more minor fixups
|
|
137
160
|
|
|
138
161
|
|
|
139
|
-
1.16.0 2023-04-13
|
|
140
|
-
~~~~~~~~~~~~~~~~~
|
|
141
|
-
Breaking:
|
|
142
|
-
|
|
143
|
-
- Removal of old unsupported python versions 2.7 and 3.6
|
|
144
|
-
- Tested python version range is now 3.7 to 3.11
|
|
145
|
-
- Lots of dependency updates
|
|
146
|
-
|
|
147
|
-
Improvements:
|
|
148
|
-
|
|
149
|
-
- New cache: Azure Blob storage
|
|
150
|
-
- Lots of dependency updates
|
|
151
|
-
- Support for JSON legends
|
|
152
|
-
- Updated layer preview to use latest openlayers
|
|
153
|
-
- Official docker images released, documentation updated
|
|
154
|
-
|
|
155
|
-
Fixes:
|
|
156
|
-
|
|
157
|
-
- Fixed issues with sqlite cache (#629 and #625)
|
|
158
|
-
- Dependency correction
|
|
159
|
-
- library detection difficulties on some operating systems
|
|
160
|
-
- encoding issues with umlauts in featureinfo
|
|
161
|
-
- Several minor bugfixes
|
|
162
|
-
- mapproxy-util export - derive image format from cache config
|
|
163
|
-
|
|
164
162
|
|
|
165
163
|
Older changes
|
|
166
164
|
-------------
|
|
@@ -167,6 +167,7 @@ mapproxy/service/template_helper.py
|
|
|
167
167
|
mapproxy/service/tile.py
|
|
168
168
|
mapproxy/service/wms.py
|
|
169
169
|
mapproxy/service/wmts.py
|
|
170
|
+
mapproxy/service/templates/ows_exception.xml
|
|
170
171
|
mapproxy/service/templates/tms_capabilities.xml
|
|
171
172
|
mapproxy/service/templates/tms_exception.xml
|
|
172
173
|
mapproxy/service/templates/tms_root_resource.xml
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: MapProxy
|
|
3
|
-
Version:
|
|
3
|
+
Version: 3.0.0
|
|
4
4
|
Summary: An accelerating proxy for tile and web map services
|
|
5
5
|
Home-page: https://mapproxy.org
|
|
6
6
|
Author: Oliver Tonnhofer
|
|
@@ -34,6 +34,29 @@ The documentation is available at: http://mapproxy.github.io/mapproxy/latest/
|
|
|
34
34
|
|
|
35
35
|
Changes
|
|
36
36
|
-------
|
|
37
|
+
3.0.0 2024-08-27
|
|
38
|
+
~~~~~~~~~~~~~~~~
|
|
39
|
+
|
|
40
|
+
Breaking:
|
|
41
|
+
|
|
42
|
+
- Add proper XML Exception when service parameter disabled / invalid or missing
|
|
43
|
+
In the past MapProxy returned WMS Capabilities when no explicit service parameter was given in
|
|
44
|
+
GetCapabilities requests. With this change, an OGC exception will be returned instead.
|
|
45
|
+
Invalid service types now also return a proper exception instead of an `internal error`.
|
|
46
|
+
Besides, the status code of exception responses now have a 400 or 500 code instead of 200
|
|
47
|
+
for better conformity.
|
|
48
|
+
|
|
49
|
+
Maintenance:
|
|
50
|
+
|
|
51
|
+
- Add test for seeding sqlite cache
|
|
52
|
+
- Documentation updates and clarifications
|
|
53
|
+
- Dependency updates
|
|
54
|
+
|
|
55
|
+
Fixes:
|
|
56
|
+
|
|
57
|
+
- Fix gh-pages workflow
|
|
58
|
+
|
|
59
|
+
|
|
37
60
|
2.2.0 2024-07-24
|
|
38
61
|
~~~~~~~~~~~~~~~~
|
|
39
62
|
|
|
@@ -136,31 +159,6 @@ Fixes:
|
|
|
136
159
|
- Some more minor fixups
|
|
137
160
|
|
|
138
161
|
|
|
139
|
-
1.16.0 2023-04-13
|
|
140
|
-
~~~~~~~~~~~~~~~~~
|
|
141
|
-
Breaking:
|
|
142
|
-
|
|
143
|
-
- Removal of old unsupported python versions 2.7 and 3.6
|
|
144
|
-
- Tested python version range is now 3.7 to 3.11
|
|
145
|
-
- Lots of dependency updates
|
|
146
|
-
|
|
147
|
-
Improvements:
|
|
148
|
-
|
|
149
|
-
- New cache: Azure Blob storage
|
|
150
|
-
- Lots of dependency updates
|
|
151
|
-
- Support for JSON legends
|
|
152
|
-
- Updated layer preview to use latest openlayers
|
|
153
|
-
- Official docker images released, documentation updated
|
|
154
|
-
|
|
155
|
-
Fixes:
|
|
156
|
-
|
|
157
|
-
- Fixed issues with sqlite cache (#629 and #625)
|
|
158
|
-
- Dependency correction
|
|
159
|
-
- library detection difficulties on some operating systems
|
|
160
|
-
- encoding issues with umlauts in featureinfo
|
|
161
|
-
- Several minor bugfixes
|
|
162
|
-
- mapproxy-util export - derive image format from cache config
|
|
163
|
-
|
|
164
162
|
|
|
165
163
|
Older changes
|
|
166
164
|
-------------
|
|
@@ -513,7 +513,7 @@ Available options:
|
|
|
513
513
|
When set to ``true``, requests to S3 ``GetObject`` will be fetched via urllib2 instead of boto, which decreases response times. Defaults to ``false``.
|
|
514
514
|
|
|
515
515
|
.. note::
|
|
516
|
-
The hierarchical ``directory_layouts`` can hit limitations of S3
|
|
516
|
+
The hierarchical ``directory_layouts`` can hit limitations of AWS S3 if you are routinely processing 3500 or more requests per second. ``directory_layout: reverse_tms`` can work around this limitation. Please read `S3 Request Rate and Performance Considerations <http://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html>`_ for more information on this issue.
|
|
517
517
|
|
|
518
518
|
Example
|
|
519
519
|
-------
|
|
@@ -664,13 +664,13 @@ Example:
|
|
|
664
664
|
|
|
665
665
|
.. code-block:: yaml
|
|
666
666
|
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
667
|
+
caches:
|
|
668
|
+
osm_cache:
|
|
669
|
+
grids: ['osm_grid']
|
|
670
|
+
sources: [OSM]
|
|
671
|
+
disable_storage: false
|
|
672
|
+
refresh_before:
|
|
673
|
+
days: 1
|
|
674
674
|
|
|
675
675
|
|
|
676
676
|
``disable_storage``
|
|
@@ -685,7 +685,7 @@ even if the there are matching tiles in the cache. See :ref:`seed_only <wms_seed
|
|
|
685
685
|
"""""""""""""
|
|
686
686
|
|
|
687
687
|
Directory where MapProxy should store tiles for this cache. Uses the value of ``globals.cache.base_dir`` by default. MapProxy will store each cache in a subdirectory named after the cache and the grid SRS (e.g. ``cachename_EPSG1234``).
|
|
688
|
-
See :ref:`directory option<cache_file_directory>` on how configure a complete path.
|
|
688
|
+
See :ref:`directory option<cache_file_directory>` on how to configure a complete path.
|
|
689
689
|
|
|
690
690
|
``cache``
|
|
691
691
|
"""""""""
|
|
@@ -1004,7 +1004,7 @@ The following options define how tiles are created and stored. Most options can
|
|
|
1004
1004
|
.. _meta_size:
|
|
1005
1005
|
|
|
1006
1006
|
``meta_size``
|
|
1007
|
-
MapProxy does not make a single request for every tile it needs, but it will request a large meta-tile that consist of multiple tiles. ``meta_size`` defines how large a meta-tile is. A ``meta_size`` of ``[4, 4]`` will request 16 tiles in one pass. With a tile size of 256x256 this will result in 1024x1024 requests to the source. Tiled sources are still requested tile by tile, but you can configure MapProxy to load multiple tiles in bulk with ``bulk_meta_tiles``.
|
|
1007
|
+
MapProxy does not make a single request for every tile it needs, but it will request a large meta-tile that consist of multiple tiles. ``meta_size`` defines how large a meta-tile is. A ``meta_size`` of ``[4, 4]`` will request 16 tiles in one pass. With a tile size of 256x256 and 0 ``meta_buffer``, this will result in 1024x1024 requests to the source. (Note that the default value for ``meta_buffer`` is 80.) Tiled sources are still requested tile by tile, but you can configure MapProxy to load multiple tiles in bulk with ``bulk_meta_tiles``.
|
|
1008
1008
|
|
|
1009
1009
|
|
|
1010
1010
|
.. _bulk_meta_tiles:
|
|
@@ -1017,7 +1017,7 @@ The following options define how tiles are created and stored. Most options can
|
|
|
1017
1017
|
``meta_buffer``
|
|
1018
1018
|
MapProxy will increase the size of each meta-tile request by this number of
|
|
1019
1019
|
pixels in each direction. This can solve cases where labels are cut-off at
|
|
1020
|
-
the edge of tiles.
|
|
1020
|
+
the edge of tiles. Defaults to 80.
|
|
1021
1021
|
|
|
1022
1022
|
``base_dir``
|
|
1023
1023
|
The base directory where all cached tiles will be stored. The path can
|
|
@@ -24,6 +24,7 @@ from mapproxy.util.py import memoize
|
|
|
24
24
|
from mapproxy.config.spec import validate_options, add_source_to_mapproxy_yaml_spec, add_service_to_mapproxy_yaml_spec
|
|
25
25
|
from mapproxy.config.validator import validate
|
|
26
26
|
from mapproxy.config import load_default_config, finish_base_config, defaults
|
|
27
|
+
from mapproxy.service.ows import OWSServer
|
|
27
28
|
|
|
28
29
|
import os
|
|
29
30
|
import sys
|
|
@@ -2063,9 +2064,7 @@ class ServiceConfiguration(ConfigurationBase):
|
|
|
2063
2064
|
else:
|
|
2064
2065
|
services.append(new_service)
|
|
2065
2066
|
|
|
2066
|
-
|
|
2067
|
-
from mapproxy.service.ows import OWSServer
|
|
2068
|
-
services.append(OWSServer(ows_services))
|
|
2067
|
+
services.append(OWSServer(ows_services))
|
|
2069
2068
|
return services
|
|
2070
2069
|
|
|
2071
2070
|
def tile_layers(self, conf, use_grid_names=False):
|
|
@@ -19,6 +19,9 @@ Service exception handling (WMS exceptions, XML, in_image, etc.).
|
|
|
19
19
|
from html import escape
|
|
20
20
|
|
|
21
21
|
from mapproxy.response import Response
|
|
22
|
+
from mapproxy.template import template_loader
|
|
23
|
+
import mapproxy.service
|
|
24
|
+
get_template = template_loader(mapproxy.service.__package__, 'templates')
|
|
22
25
|
|
|
23
26
|
|
|
24
27
|
class RequestError(Exception):
|
|
@@ -29,13 +32,14 @@ class RequestError(Exception):
|
|
|
29
32
|
was valid (e.g. the source server is unreachable
|
|
30
33
|
"""
|
|
31
34
|
|
|
32
|
-
def __init__(self, message, code=None, request=None, internal=False, status=None):
|
|
35
|
+
def __init__(self, message, code=None, request=None, internal=False, status=None, locator=None):
|
|
33
36
|
Exception.__init__(self, message)
|
|
34
37
|
self.msg = message
|
|
35
38
|
self.code = code
|
|
36
39
|
self.request = request
|
|
37
40
|
self.internal = internal
|
|
38
41
|
self.status = status
|
|
42
|
+
self.locator = locator
|
|
39
43
|
|
|
40
44
|
def render(self):
|
|
41
45
|
"""
|
|
@@ -93,7 +97,7 @@ class XMLExceptionHandler(ExceptionHandler):
|
|
|
93
97
|
The content_type is sent as defined here.
|
|
94
98
|
"""
|
|
95
99
|
|
|
96
|
-
status_code =
|
|
100
|
+
status_code = 500
|
|
97
101
|
"""
|
|
98
102
|
The HTTP status code.
|
|
99
103
|
"""
|
|
@@ -122,7 +126,11 @@ class XMLExceptionHandler(ExceptionHandler):
|
|
|
122
126
|
|
|
123
127
|
:type request_error: `RequestError`
|
|
124
128
|
"""
|
|
125
|
-
|
|
129
|
+
if request_error.status is not None:
|
|
130
|
+
status_code = request_error.status
|
|
131
|
+
else:
|
|
132
|
+
status_code = self.status_codes.get(request_error.code, self.status_code)
|
|
133
|
+
|
|
126
134
|
# escape &<> in error message (e.g. URL params)
|
|
127
135
|
msg = escape(request_error.msg)
|
|
128
136
|
result = self.template.substitute(exception=msg,
|
|
@@ -138,6 +146,34 @@ class XMLExceptionHandler(ExceptionHandler):
|
|
|
138
146
|
return self.template_func(self.template_file)
|
|
139
147
|
|
|
140
148
|
|
|
149
|
+
class OWSExceptionHandler(XMLExceptionHandler):
|
|
150
|
+
"""
|
|
151
|
+
Exception handler for generic OWS ServiceExceptionReports
|
|
152
|
+
"""
|
|
153
|
+
template_file = 'ows_exception.xml'
|
|
154
|
+
template_func = get_template
|
|
155
|
+
mimetype = 'text/xml'
|
|
156
|
+
|
|
157
|
+
def render(self, request_error):
|
|
158
|
+
"""
|
|
159
|
+
Render the template of this exception handler. Passes the
|
|
160
|
+
``request_error.msg``, ``request_error.locator`` and ``request_error.code`` to the template.
|
|
161
|
+
|
|
162
|
+
:type request_error: `RequestError`
|
|
163
|
+
"""
|
|
164
|
+
if request_error.status is not None:
|
|
165
|
+
status_code = request_error.status
|
|
166
|
+
else:
|
|
167
|
+
status_code = self.status_codes.get(request_error.code, self.status_code)
|
|
168
|
+
|
|
169
|
+
# escape &<> in error message (e.g. URL params)
|
|
170
|
+
msg = escape(request_error.msg)
|
|
171
|
+
result = self.template.substitute(exception=msg,
|
|
172
|
+
code=request_error.code, locator=request_error.locator)
|
|
173
|
+
return Response(result, mimetype=self.mimetype, content_type=self.content_type,
|
|
174
|
+
status=status_code)
|
|
175
|
+
|
|
176
|
+
|
|
141
177
|
class PlainExceptionHandler(ExceptionHandler):
|
|
142
178
|
mimetype = 'text/plain'
|
|
143
179
|
status_code = 404
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"""
|
|
17
17
|
Wrapper service handler for all OWS services (/service?).
|
|
18
18
|
"""
|
|
19
|
+
from mapproxy.exception import OWSExceptionHandler, RequestError
|
|
19
20
|
|
|
20
21
|
|
|
21
22
|
class OWSServer(object):
|
|
@@ -33,7 +34,24 @@ class OWSServer(object):
|
|
|
33
34
|
self.services[service.service] = service
|
|
34
35
|
|
|
35
36
|
def handle(self, req):
|
|
36
|
-
service = req.args.get('service'
|
|
37
|
-
|
|
37
|
+
service = req.args.get('service')
|
|
38
|
+
wmtver = req.args.get('wmtver')
|
|
39
|
+
if not service:
|
|
40
|
+
if wmtver == '1.0.0':
|
|
41
|
+
# WMS version 1.0.0 did not have a mandatory service parameter
|
|
42
|
+
service = 'wms'
|
|
43
|
+
else:
|
|
44
|
+
req.exception_handler = OWSExceptionHandler()
|
|
45
|
+
|
|
46
|
+
error = RequestError('The service parameter is missing',
|
|
47
|
+
code='MissingParameterValue', request=req, locator='service', status=400)
|
|
48
|
+
return req.exception_handler.render(error)
|
|
49
|
+
|
|
50
|
+
service = service.lower()
|
|
51
|
+
if service not in self.services:
|
|
52
|
+
req.exception_handler = OWSExceptionHandler()
|
|
53
|
+
error = RequestError('The value of the service parameter "' + str(service) + '" is invalid',
|
|
54
|
+
code='InvalidParameterValue', request=req, locator='service', status=400)
|
|
55
|
+
return error.render()
|
|
38
56
|
|
|
39
57
|
return self.services[service].handle(req)
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<?xml version="1.0"?>
|
|
2
|
+
<ows:ExceptionReport xmlns:ows="http://www.opengis.net/ows/1.1"
|
|
3
|
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
4
|
+
xsi:schemaLocation="http://www.opengis.net/ows/1.1 http://schemas.opengis.net/ows/1.1.0/owsExceptionReport.xsd"
|
|
5
|
+
version="1.0.0" xml:lang="en">
|
|
6
|
+
<ows:Exception{{if code is not None}} exceptionCode="{{code}}"{{endif}}
|
|
7
|
+
{{if locator is not None}} locator="{{locator}}"{{endif}}>
|
|
8
|
+
<ows:ExceptionText>{{exception}}</ows:ExceptionText>
|
|
9
|
+
</ows:Exception>
|
|
10
|
+
</ows:ExceptionReport>
|
|
@@ -29,6 +29,11 @@ seeds:
|
|
|
29
29
|
refresh_before:
|
|
30
30
|
days: 1
|
|
31
31
|
|
|
32
|
+
sqlite_cache:
|
|
33
|
+
caches: [sqlite_cache]
|
|
34
|
+
grids: [GLOBAL_GEODETIC]
|
|
35
|
+
levels: [0]
|
|
36
|
+
|
|
32
37
|
with_empty_coverage:
|
|
33
38
|
caches: [mbtile_cache]
|
|
34
39
|
grids: [GLOBAL_GEODETIC]
|
|
@@ -58,7 +63,7 @@ cleanups:
|
|
|
58
63
|
levels: [1]
|
|
59
64
|
remove_all: true
|
|
60
65
|
|
|
61
|
-
|
|
66
|
+
cleanup_sqlite_cache:
|
|
62
67
|
caches: [sqlite_cache]
|
|
63
68
|
grids: [GLOBAL_GEODETIC]
|
|
64
69
|
levels: [3]
|
|
@@ -91,4 +96,4 @@ cleanups:
|
|
|
91
96
|
grids: [GLOBAL_GEODETIC]
|
|
92
97
|
levels: [0]
|
|
93
98
|
remove_before:
|
|
94
|
-
mtime: 'seed.yaml'
|
|
99
|
+
mtime: 'seed.yaml'
|
|
@@ -212,7 +212,7 @@ class TestWMSLegendgraphic(SysTest):
|
|
|
212
212
|
|
|
213
213
|
def test_get_legendgraphic_no_legend_111(self, app):
|
|
214
214
|
self.common_lg_req_111.params["layer"] = "wms_no_legend"
|
|
215
|
-
resp = app.get(self.common_lg_req_111)
|
|
215
|
+
resp = app.get(self.common_lg_req_111, expect_errors=True)
|
|
216
216
|
assert resp.content_type == "application/vnd.ogc.se_xml"
|
|
217
217
|
xml = resp.lxml
|
|
218
218
|
assert (
|
|
@@ -227,7 +227,7 @@ class TestWMSLegendgraphic(SysTest):
|
|
|
227
227
|
.replace("sld_version", "invalid")
|
|
228
228
|
.replace("format", "invalid")
|
|
229
229
|
)
|
|
230
|
-
resp = app.get(req)
|
|
230
|
+
resp = app.get(req, expect_errors=True)
|
|
231
231
|
assert resp.content_type == "application/vnd.ogc.se_xml"
|
|
232
232
|
xml = resp.lxml
|
|
233
233
|
assert "missing parameters" in xml.xpath("//ServiceException/text()")[0]
|
|
@@ -237,7 +237,7 @@ class TestWMSLegendgraphic(SysTest):
|
|
|
237
237
|
req = str(self.common_lg_req_111).replace(
|
|
238
238
|
"sld_version=1.1.0", "sld_version=1.0.0"
|
|
239
239
|
)
|
|
240
|
-
resp = app.get(req)
|
|
240
|
+
resp = app.get(req, expect_errors=True)
|
|
241
241
|
assert resp.content_type == "application/vnd.ogc.se_xml"
|
|
242
242
|
xml = resp.lxml
|
|
243
243
|
assert "invalid sld_version" in xml.xpath("//ServiceException/text()")[0]
|
|
@@ -245,7 +245,7 @@ class TestWMSLegendgraphic(SysTest):
|
|
|
245
245
|
|
|
246
246
|
def test_get_legendgraphic_no_legend_130(self, app):
|
|
247
247
|
self.common_lg_req_130.params["layer"] = "wms_no_legend"
|
|
248
|
-
resp = app.get(self.common_lg_req_130)
|
|
248
|
+
resp = app.get(self.common_lg_req_130, expect_errors=True)
|
|
249
249
|
assert resp.content_type == "text/xml"
|
|
250
250
|
xml = resp.lxml
|
|
251
251
|
assert_xpath_wms130(xml, "/ogc:ServiceExceptionReport/@version", "1.3.0")
|
|
@@ -258,7 +258,7 @@ class TestWMSLegendgraphic(SysTest):
|
|
|
258
258
|
|
|
259
259
|
def test_get_legendgraphic_missing_params_130(self, app):
|
|
260
260
|
req = str(self.common_lg_req_130).replace("format", "invalid")
|
|
261
|
-
resp = app.get(req)
|
|
261
|
+
resp = app.get(req, expect_errors=True)
|
|
262
262
|
assert resp.content_type == "text/xml"
|
|
263
263
|
xml = resp.lxml
|
|
264
264
|
assert_xpath_wms130(xml, "/ogc:ServiceExceptionReport/@version", "1.3.0")
|
|
@@ -271,7 +271,7 @@ class TestWMSLegendgraphic(SysTest):
|
|
|
271
271
|
req = str(self.common_lg_req_130).replace(
|
|
272
272
|
"sld_version=1.1.0", "sld_version=1.0.0"
|
|
273
273
|
)
|
|
274
|
-
resp = app.get(req)
|
|
274
|
+
resp = app.get(req, expect_errors=True)
|
|
275
275
|
assert resp.content_type == "text/xml"
|
|
276
276
|
xml = resp.lxml
|
|
277
277
|
assert_xpath_wms130(xml, "/ogc:ServiceExceptionReport/@version", "1.3.0")
|
|
@@ -179,14 +179,14 @@ class TestWMS111(SysTest):
|
|
|
179
179
|
|
|
180
180
|
with mock_single_req_httpd(("localhost", 42423), req_handler):
|
|
181
181
|
self.common_map_req.params["bbox"] = "0,0,9,9"
|
|
182
|
-
resp = app.get(self.common_map_req)
|
|
182
|
+
resp = app.get(self.common_map_req, expect_errors=True)
|
|
183
183
|
|
|
184
184
|
assert resp.content_type == "application/vnd.ogc.se_xml"
|
|
185
185
|
is_111_exception(resp.lxml, re_msg="Error from renderd: barf")
|
|
186
186
|
|
|
187
187
|
def test_get_map_connection_error(self, app):
|
|
188
188
|
self.common_map_req.params["bbox"] = "0,0,9,9"
|
|
189
|
-
resp = app.get(self.common_map_req)
|
|
189
|
+
resp = app.get(self.common_map_req, expect_errors=True)
|
|
190
190
|
|
|
191
191
|
assert resp.content_type == "application/vnd.ogc.se_xml"
|
|
192
192
|
is_111_exception(resp.lxml, re_msg="Error while communicating with renderd:")
|
|
@@ -210,7 +210,7 @@ class TestWMS111(SysTest):
|
|
|
210
210
|
|
|
211
211
|
with mock_single_req_httpd(("localhost", 42423), req_handler):
|
|
212
212
|
self.common_map_req.params["bbox"] = "0,0,9,9"
|
|
213
|
-
resp = app.get(self.common_map_req)
|
|
213
|
+
resp = app.get(self.common_map_req, expect_errors=True)
|
|
214
214
|
|
|
215
215
|
assert resp.content_type == "application/vnd.ogc.se_xml"
|
|
216
216
|
is_111_exception(
|
|
@@ -46,7 +46,7 @@ class TestResponseHeaders(SysTest):
|
|
|
46
46
|
assert resp.vary == ('X-Script-Name', 'X-Forwarded-Host', 'X-Forwarded-Proto')
|
|
47
47
|
|
|
48
48
|
def test_no_endpoint(self, app):
|
|
49
|
-
resp = app.get('http://localhost/service?')
|
|
49
|
+
resp = app.get('http://localhost/service?', expect_errors=True)
|
|
50
50
|
assert resp.vary == ('X-Script-Name', 'X-Forwarded-Host', 'X-Forwarded-Proto')
|
|
51
51
|
|
|
52
52
|
def test_image_response(self, app):
|
|
@@ -249,6 +249,19 @@ class TestSeed(SeedTestBase):
|
|
|
249
249
|
seed(tasks, dry_run=False)
|
|
250
250
|
cleanup(cleanup_tasks, verbose=False, dry_run=False)
|
|
251
251
|
|
|
252
|
+
def test_seed_sqlite(self):
|
|
253
|
+
with tmp_image((256, 256), format='png') as img:
|
|
254
|
+
img_data = img.read()
|
|
255
|
+
expected_req = ({'path': r'/service?LAYERS=baz&SERVICE=WMS&FORMAT=image%2Fpng'
|
|
256
|
+
'&REQUEST=GetMap&VERSION=1.1.1&bbox=-180.0,-90.0,180.0,90.0'
|
|
257
|
+
'&width=256&height=128&srs=EPSG:4326'},
|
|
258
|
+
{'body': img_data, 'headers': {'content-type': 'image/png'}})
|
|
259
|
+
with mock_httpd(('localhost', 42423), [expected_req]):
|
|
260
|
+
seed_conf = load_seed_tasks_conf(self.seed_conf_file, self.mapproxy_conf)
|
|
261
|
+
tasks, cleanup_tasks = seed_conf.seeds(['sqlite_cache']), seed_conf.cleanups(['cleanup_sqlite_cache'])
|
|
262
|
+
seed(tasks, dry_run=False)
|
|
263
|
+
cleanup(cleanup_tasks, verbose=False, dry_run=False)
|
|
264
|
+
|
|
252
265
|
def create_tile(self, coord=(0, 0, 0)):
|
|
253
266
|
return Tile(coord,
|
|
254
267
|
ImageSource(tile_image_buf,
|
|
@@ -290,7 +303,7 @@ class TestSeed(SeedTestBase):
|
|
|
290
303
|
|
|
291
304
|
def test_cleanup_sqlite(self):
|
|
292
305
|
seed_conf = load_seed_tasks_conf(self.seed_conf_file, self.mapproxy_conf)
|
|
293
|
-
cleanup_tasks = seed_conf.cleanups(['
|
|
306
|
+
cleanup_tasks = seed_conf.cleanups(['cleanup_sqlite_cache'])
|
|
294
307
|
|
|
295
308
|
cache = cleanup_tasks[0].tile_manager.cache
|
|
296
309
|
cache.store_tile(self.create_tile((0, 0, 2)))
|
|
@@ -337,8 +350,8 @@ class TestSeed(SeedTestBase):
|
|
|
337
350
|
def test_active_seed_tasks(self):
|
|
338
351
|
with local_base_config(self.mapproxy_conf.base_config):
|
|
339
352
|
seed_conf = load_seed_tasks_conf(self.seed_conf_file, self.mapproxy_conf)
|
|
340
|
-
assert len(seed_conf.seed_tasks_names()) ==
|
|
341
|
-
assert len(seed_conf.seeds()) ==
|
|
353
|
+
assert len(seed_conf.seed_tasks_names()) == 6
|
|
354
|
+
assert len(seed_conf.seeds()) == 6
|
|
342
355
|
|
|
343
356
|
def test_seed_refresh_remove_before_from_file(self):
|
|
344
357
|
# tile already there but old
|
|
@@ -129,7 +129,7 @@ class TestWMS(SysTest):
|
|
|
129
129
|
|
|
130
130
|
def test_all_offline(self, app):
|
|
131
131
|
self.common_map_req.params.layers = "all_offline"
|
|
132
|
-
resp = app.get(self.common_map_req)
|
|
132
|
+
resp = app.get(self.common_map_req, expect_errors=True)
|
|
133
133
|
assert resp.content_type == "application/vnd.ogc.se_xml"
|
|
134
134
|
is_111_exception(resp.lxml, re_msg="no response from url")
|
|
135
135
|
|
|
@@ -175,12 +175,12 @@ class TestWMSRaise(SysTest):
|
|
|
175
175
|
|
|
176
176
|
with mock_httpd(("localhost", 42423), expected_req):
|
|
177
177
|
self.common_map_req.params.layers = "mixed"
|
|
178
|
-
resp = app.get(self.common_map_req)
|
|
178
|
+
resp = app.get(self.common_map_req, expect_errors=True)
|
|
179
179
|
is_111_exception(resp.lxml, re_msg="no response from url")
|
|
180
180
|
|
|
181
181
|
def test_all_offline(self, app):
|
|
182
182
|
self.common_map_req.params.layers = "all_offline"
|
|
183
|
-
resp = app.get(self.common_map_req)
|
|
183
|
+
resp = app.get(self.common_map_req, expect_errors=True)
|
|
184
184
|
assert resp.content_type == "application/vnd.ogc.se_xml"
|
|
185
185
|
is_111_exception(resp.lxml, re_msg="no response from url")
|
|
186
186
|
|
|
@@ -268,7 +268,7 @@ class TestTileErrors(SysTest):
|
|
|
268
268
|
]
|
|
269
269
|
|
|
270
270
|
with mock_httpd(("localhost", 42423), expected_req):
|
|
271
|
-
resp = app.get(self.common_map_req)
|
|
271
|
+
resp = app.get(self.common_map_req, expect_errors=True)
|
|
272
272
|
assert_no_cache(resp)
|
|
273
273
|
assert resp.content_type == "application/vnd.ogc.se_xml"
|
|
274
274
|
assert b"500" in resp.body
|