MapProxy 4.1.2__tar.gz → 5.1.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-4.1.2 → mapproxy-5.1.0}/CHANGES.txt +37 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/MapProxy.egg-info/PKG-INFO +40 -47
- {mapproxy-4.1.2 → mapproxy-5.1.0}/MapProxy.egg-info/requires.txt +2 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/PKG-INFO +40 -47
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/install.rst +7 -49
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/sources.rst +8 -5
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/cache/mbtiles.py +1 -1
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/client/wms.py +2 -1
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/config/config-schema.json +15 -3
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/config/loader.py +9 -7
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/config/spec.py +1 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/featureinfo.py +10 -16
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/request/wms/__init__.py +3 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/layer.yaml +13 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_wms.py +26 -4
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_conf_loader.py +10 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_conf_validator.py +7 -2
- {mapproxy-4.1.2 → mapproxy-5.1.0}/requirements-tests.txt +10 -10
- {mapproxy-4.1.2 → mapproxy-5.1.0}/setup.py +4 -2
- {mapproxy-4.1.2 → mapproxy-5.1.0}/AUTHORS.txt +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/COPYING.txt +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/LICENSE.txt +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/MANIFEST.in +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/MapProxy.egg-info/SOURCES.txt +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/MapProxy.egg-info/dependency_links.txt +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/MapProxy.egg-info/entry_points.txt +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/MapProxy.egg-info/not-zip-safe +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/MapProxy.egg-info/top_level.txt +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/README.md +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/GM.txt +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/_static/logo.png +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/_static/logo_title.png +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/_static/mapproxy.css +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/_templates/versions.html +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/auth.rst +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/caches.rst +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/caching_layer_dimensions.rst +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/conf.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/configuration.rst +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/configuration_examples.rst +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/coverages.rst +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/decorate_img.rst +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/deployment.rst +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/development.rst +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/imgs/bicubic.png +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/imgs/bilinear.png +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/imgs/labeling-dynamic.png +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/imgs/labeling-meta-buffer.png +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/imgs/labeling-metatiling-buffer.png +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/imgs/labeling-metatiling.png +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/imgs/labeling-no-clip.png +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/imgs/labeling-no-placement.png +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/imgs/labeling-partial-false.png +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/imgs/labeling-repeated.png +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/imgs/mapnik-webmerc-hq.png +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/imgs/mapnik-webmerc.png +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/imgs/mapproxy-demo.png +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/imgs/nearest.png +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/index.rst +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/inspire.rst +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/install_docker.rst +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/install_osgeo4w.rst +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/install_windows.rst +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/labeling.rst +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/mapproxy_util.rst +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/mapproxy_util_autoconfig.rst +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/ogc_api.rst +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/plugins.rst +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/seed.rst +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/services.rst +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/tutorial.rst +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/tutorial.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/yaml/cache_conf.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/yaml/grid_conf.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/yaml/merged_conf.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/yaml/meta_conf.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/yaml/seed.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/doc/yaml/simple_conf.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/__init__.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/cache/__init__.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/cache/azureblob.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/cache/base.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/cache/compact.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/cache/couchdb.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/cache/dummy.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/cache/file.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/cache/geopackage.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/cache/legend.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/cache/meta.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/cache/path.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/cache/redis.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/cache/renderd.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/cache/s3.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/cache/tile.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/client/__init__.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/client/arcgis.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/client/cgi.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/client/http.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/client/log.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/client/tile.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/compat/__init__.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/compat/image.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/config/__init__.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/config/config.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/config/coverage.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/config/defaults.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/config/validator.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/config_template/__init__.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/config_template/base_config/config.wsgi +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/config_template/base_config/full_example.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/config_template/base_config/full_seed_example.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/config_template/base_config/log.ini +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/config_template/base_config/mapproxy.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/config_template/base_config/seed.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/exception.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/grid/__init__.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/grid/meta_grid.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/grid/resolutions.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/grid/tile_grid.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/image/__init__.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/image/fonts/DejaVuSans.ttf +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/image/fonts/DejaVuSansMono.ttf +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/image/fonts/LICENSE +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/image/fonts/__init__.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/image/mask.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/image/merge.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/image/message.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/image/opts.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/image/tile.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/image/transform.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/layer.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/multiapp.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/proj.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/request/__init__.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/request/arcgis.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/request/base.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/request/tile.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/request/wms/exception.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/request/wmts.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/response.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/script/__init__.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/script/conf/__init__.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/script/conf/app.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/script/conf/caches.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/script/conf/geopackage.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/script/conf/layers.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/script/conf/seeds.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/script/conf/sources.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/script/conf/utils.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/script/defrag.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/script/export.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/script/grids.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/script/scales.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/script/util.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/script/wms_capabilities.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/seed/__init__.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/seed/cachelock.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/seed/cleanup.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/seed/config.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/seed/script.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/seed/seeder.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/seed/spec.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/seed/util.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/__init__.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/base.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/demo.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/kml.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/ows.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/template_helper.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/demo/capabilities_demo.html +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/demo/demo.html +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/demo/openlayers-demo.cfg +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/img/blank.gif +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/img/east-mini.png +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/img/north-mini.png +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/img/south-mini.png +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/img/west-mini.png +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/img/zoom-minus-mini.png +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/img/zoom-plus-mini.png +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/img/zoom-world-mini.png +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/logo.png +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/ol.css +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/ol.js +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/proj4.min.js +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/proj4defs.js +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/site.css +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/theme/default/framedCloud.css +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/theme/default/google.css +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/theme/default/ie6-style.css +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/theme/default/style.css +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static.html +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/demo/tms_demo.html +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/demo/wms_demo.html +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/demo/wmts_demo.html +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/ows_exception.xml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/tms_capabilities.xml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/tms_exception.xml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/tms_root_resource.xml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/tms_tilemap_capabilities.xml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/wms100capabilities.xml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/wms100exception.xml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/wms110capabilities.xml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/wms110exception.xml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/wms111capabilities.xml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/wms111exception.xml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/wms130capabilities.xml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/wms130exception.xml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/wmts100capabilities.xml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/templates/wmts100exception.xml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/tile.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/wms.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/service/wmts.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/source/__init__.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/source/arcgis.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/source/error.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/source/mapnik.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/source/tile.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/source/wms.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/srs.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/template.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/__init__.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/conftest.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/helper.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/http.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/image.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/mocker.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/common.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_bul.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_cze.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_dan.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_dut.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_eng.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_est.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_fin.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_fre.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_ger.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_gle.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_gre.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_hun.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_ita.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_lav.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_lit.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_mlt.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_pol.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_por.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_rum.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_slo.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_slv.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_spa.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_swe.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/network.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/inspire_vs/1.0/inspire_vs.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/kml/2.2.0/ReadMe.txt +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/kml/2.2.0/atom-author-link.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/kml/2.2.0/ogckml22.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/kml/2.2.0/xAL.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/ows/1.1.0/ReadMe.txt +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/ows/1.1.0/ows19115subset.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/ows/1.1.0/owsAll.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/ows/1.1.0/owsCommon.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/ows/1.1.0/owsContents.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/ows/1.1.0/owsDataIdentification.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/ows/1.1.0/owsDomainType.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/ows/1.1.0/owsExceptionReport.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/ows/1.1.0/owsGetCapabilities.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/ows/1.1.0/owsGetResourceByID.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/ows/1.1.0/owsInputOutputData.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/ows/1.1.0/owsManifest.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/ows/1.1.0/owsOperationsMetadata.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/ows/1.1.0/owsServiceIdentification.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/ows/1.1.0/owsServiceProvider.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/sld/1.1.0/sld_capabilities.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.0.0/capabilities_1_0_0.dtd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.0.0/capabilities_1_0_0.xml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.0.7/capabilities_1_0_7.dtd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.0.7/capabilities_1_0_7.xml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.1.0/capabilities_1_1_0.dtd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.1.0/capabilities_1_1_0.xml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.1.0/exception_1_1_0.dtd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.1.0/exception_1_1_0.xml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.1.1/OGC-exception.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.1.1/WMS_DescribeLayerResponse.dtd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.1.1/WMS_MS_Capabilities.dtd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.1.1/WMS_exception_1_1_1.dtd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.1.1/capabilities_1_1_1.dtd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.1.1/capabilities_1_1_1.xml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.1.1/exception_1_1_1.dtd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.1.1/exception_1_1_1.xml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.3.0/ReadMe.txt +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.3.0/capabilities_1_3_0.xml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.3.0/capabilities_1_3_0.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.3.0/exceptions_1_3_0.xml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.3.0/exceptions_1_3_0.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wmsc/1.1.1/OGC-exception.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wmsc/1.1.1/WMS_DescribeLayerResponse.dtd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wmsc/1.1.1/WMS_MS_Capabilities.dtd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wmsc/1.1.1/WMS_exception_1_1_1.dtd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wmsc/1.1.1/capabilities_1_1_1.dtd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wmsc/1.1.1/capabilities_1_1_1.xml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wmsc/1.1.1/exception_1_1_1.dtd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wmsc/1.1.1/exception_1_1_1.xml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wmts/1.0/ReadMe.txt +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wmts/1.0/wmts.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wmts/1.0/wmtsAbstract.wsdl +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wmts/1.0/wmtsGetCapabilities_request.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wmts/1.0/wmtsGetCapabilities_response.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wmts/1.0/wmtsGetFeatureInfo_request.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wmts/1.0/wmtsGetFeatureInfo_response.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wmts/1.0/wmtsGetTile_request.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wmts/1.0/wmtsKVP.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/wmts/1.0/wmtsPayload_response.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/xlink/1.0.0/ReadMe.txt +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/xlink/1.0.0/xlinks.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/schemas/xml.xsd +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/__init__.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/arcgis.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/auth.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/cache.mbtiles +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/cache_azureblob.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/cache_band_merge.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/cache_bulk_meta_tiles.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/cache_coverage.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/cache_data/dop_cache_EPSG3857/00/000/000/000/000/000/000.png +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/cache_data/wms_cache_EPSG900913/01/000/000/000/000/000/001.jpeg +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/cache_data/wms_cache_transparent_EPSG900913/01/000/000/000/000/000/001.png +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/cache_geopackage.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/cache_grid_names.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/cache_mbtiles.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/cache_s3.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/cache_source.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/combined_sources.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/coverage.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/demo.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/dimension.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/disable_storage.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/empty_ogrdata.geojson +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/formats.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/inspire.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/inspire_full.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/kml_layer.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/layergroups.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/layergroups_root.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/legendgraphic.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/mapnik_source.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/mapproxy_export.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/mapserver.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/minimal_cgi.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/mixed_mode.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/multi_cache_layers.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/multiapp1.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/multiapp2.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/renderd_client.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/scalehints.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/seed.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/seed_mapproxy.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/seed_timeouts.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/seed_timeouts_mapproxy.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/seedonly.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/sld.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/source_errors.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/source_errors_raise.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/tileservice_origin.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/tileservice_refresh.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/tilesource_minmax_res.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/util-conf-base-grids.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/util-conf-overwrite.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/util-conf-wms-111-cap.xml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/util_grids.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/util_wms_capabilities111.xml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/util_wms_capabilities130.xml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/util_wms_capabilities_service_exception.xml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/watermark.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/wms_srs_extent.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/wms_versions.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/wmts.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/wmts_dimensions.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/xslt_featureinfo.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/fixture/xslt_featureinfo_input.yaml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_arcgis.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_auth.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_behind_proxy.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_bulk_meta_tiles.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_cache_azureblob.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_cache_band_merge.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_cache_coverage.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_cache_geopackage.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_cache_grid_names.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_cache_mbtiles.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_cache_s3.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_cache_source.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_combined_sources.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_coverage.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_decorate_img.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_demo.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_demo_with_extra_service.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_dimensions.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_disable_storage.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_formats.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_inspire_vs.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_kml.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_layergroups.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_legendgraphic.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_mapnik.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_mapserver.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_mixed_mode_format.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_multi_cache_layers.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_multiapp.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_refresh.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_renderd_client.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_response_headers.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_scalehints.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_seed.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_seed_only.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_sld.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_source_errors.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_tilesource_minmax_res.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_tms.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_tms_origin.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_util_conf.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_util_export.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_util_grids.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_util_wms_capabilities.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_watermark.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_wms_srs_extent.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_wms_version.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_wmsc.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_wmts.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_wmts_dimensions.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_wmts_restful.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/system/test_xslt_featureinfo.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/test_http_helper.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/__init__.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/epsg +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/polygons/polygons.dbf +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/polygons/polygons.shp +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/polygons/polygons.shx +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_async.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_auth.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_cache.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_cache_azureblob.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_cache_compact.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_cache_couchdb.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_cache_geopackage.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_cache_mbtile.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_cache_redis.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_cache_s3.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_cache_tile.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_client.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_client_arcgis.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_client_cgi.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_collections.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_concat_legends.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_config.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_decorate_img.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_exceptions.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_featureinfo.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_file_lock_load.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_fs.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_geom.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_grid.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_image.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_image_mask.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_image_messages.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_image_options.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_isodate.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_multiapp.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_ogr_reader.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_request.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_request_wmts.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_response.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_seed.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_seed_cachelock.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_srs.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_tiled_source.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_tilefilter.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_times.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_timeutils.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_util_conf_utils.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_utils.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_wms_capabilities.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_wms_layer.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/test/unit/test_yaml.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/tilefilter.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/__init__.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/async_.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/bbox.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/collections.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/coverage.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/escape.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/ext/__init__.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/ext/dictspec/__init__.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/ext/dictspec/spec.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/ext/dictspec/test/__init__.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/ext/dictspec/test/test_validator.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/ext/dictspec/validator.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/ext/local.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/ext/lockfile.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/ext/serving.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/ext/tempita/__init__.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/ext/tempita/_looper.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/ext/tempita/string_utils.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/ext/wmsparse/__init__.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/ext/wmsparse/duration.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/ext/wmsparse/parse.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/ext/wmsparse/test/__init__.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/ext/wmsparse/test/test_parse.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/ext/wmsparse/test/test_util.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/ext/wmsparse/test/wms-example-111.xml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/ext/wmsparse/test/wms-example-130.xml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/ext/wmsparse/test/wms-large-111.xml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/ext/wmsparse/test/wms_nasa_cap.xml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/ext/wmsparse/util.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/fs.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/geom.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/lib.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/lock.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/ogr.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/py.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/sqlite3.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/times.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/util/yaml.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/version.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/mapproxy/wsgiapp.py +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/pyproject.toml +0 -0
- {mapproxy-4.1.2 → mapproxy-5.1.0}/setup.cfg +0 -0
|
@@ -1,3 +1,40 @@
|
|
|
1
|
+
5.1.0 2025-09-30
|
|
2
|
+
~~~~~~~~~~~~~~~~
|
|
3
|
+
|
|
4
|
+
Improvements:
|
|
5
|
+
|
|
6
|
+
- Added `query_layers` option to `wms_opts` to be able to configure the `QUERY_LAYERS` of the wms request
|
|
7
|
+
- Added workflow to republish docker images if the base image changed, i.e. for security updates
|
|
8
|
+
|
|
9
|
+
Maintenance:
|
|
10
|
+
|
|
11
|
+
- Fixed some spelling and debug output
|
|
12
|
+
- Updated various dependencies
|
|
13
|
+
|
|
14
|
+
Fixes:
|
|
15
|
+
|
|
16
|
+
- Fixes some errors in the json schema regarding `use_direct_level_from` and `use_direct_res_from`
|
|
17
|
+
- Fixes an error with merging resolutions of grids
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
5.0.0 2025-06-18
|
|
21
|
+
~~~~~~~~~~~~~~~~
|
|
22
|
+
|
|
23
|
+
Breaking:
|
|
24
|
+
|
|
25
|
+
- The dependencies lxml, shapely, pyproj, gdal and PyYAML are no longer optional
|
|
26
|
+
|
|
27
|
+
Maintenance:
|
|
28
|
+
|
|
29
|
+
- By default lxml, shapely, pyproj, Pillow and PyYAML are now installed via pip and are not recommended to be installed
|
|
30
|
+
as apt packages anymore
|
|
31
|
+
|
|
32
|
+
Fixes:
|
|
33
|
+
|
|
34
|
+
- The alpine image uses the python3 plugin for uwsgi correctly
|
|
35
|
+
- An lxml encoding error is fixed
|
|
36
|
+
|
|
37
|
+
|
|
1
38
|
4.1.2 2025-05-27
|
|
2
39
|
~~~~~~~~~~~~~~~~
|
|
3
40
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: MapProxy
|
|
3
|
-
Version:
|
|
3
|
+
Version: 5.1.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,8 @@ Requires-Dist: Pillow>=9; python_version == "3.10"
|
|
|
34
34
|
Requires-Dist: Pillow>=10; python_version == "3.11"
|
|
35
35
|
Requires-Dist: Pillow>=10.1; python_version == "3.12"
|
|
36
36
|
Requires-Dist: Pillow>=11; python_version == "3.13"
|
|
37
|
+
Requires-Dist: lxml>=4
|
|
38
|
+
Requires-Dist: shapely>=2
|
|
37
39
|
Dynamic: author
|
|
38
40
|
Dynamic: author-email
|
|
39
41
|
Dynamic: classifier
|
|
@@ -59,6 +61,43 @@ The documentation is available at: http://mapproxy.github.io/mapproxy/latest/
|
|
|
59
61
|
|
|
60
62
|
Changes
|
|
61
63
|
-------
|
|
64
|
+
5.1.0 2025-09-30
|
|
65
|
+
~~~~~~~~~~~~~~~~
|
|
66
|
+
|
|
67
|
+
Improvements:
|
|
68
|
+
|
|
69
|
+
- Added `query_layers` option to `wms_opts` to be able to configure the `QUERY_LAYERS` of the wms request
|
|
70
|
+
- Added workflow to republish docker images if the base image changed, i.e. for security updates
|
|
71
|
+
|
|
72
|
+
Maintenance:
|
|
73
|
+
|
|
74
|
+
- Fixed some spelling and debug output
|
|
75
|
+
- Updated various dependencies
|
|
76
|
+
|
|
77
|
+
Fixes:
|
|
78
|
+
|
|
79
|
+
- Fixes some errors in the json schema regarding `use_direct_level_from` and `use_direct_res_from`
|
|
80
|
+
- Fixes an error with merging resolutions of grids
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
5.0.0 2025-06-18
|
|
84
|
+
~~~~~~~~~~~~~~~~
|
|
85
|
+
|
|
86
|
+
Breaking:
|
|
87
|
+
|
|
88
|
+
- The dependencies lxml, shapely, pyproj, gdal and PyYAML are no longer optional
|
|
89
|
+
|
|
90
|
+
Maintenance:
|
|
91
|
+
|
|
92
|
+
- By default lxml, shapely, pyproj, Pillow and PyYAML are now installed via pip and are not recommended to be installed
|
|
93
|
+
as apt packages anymore
|
|
94
|
+
|
|
95
|
+
Fixes:
|
|
96
|
+
|
|
97
|
+
- The alpine image uses the python3 plugin for uwsgi correctly
|
|
98
|
+
- An lxml encoding error is fixed
|
|
99
|
+
|
|
100
|
+
|
|
62
101
|
4.1.2 2025-05-27
|
|
63
102
|
~~~~~~~~~~~~~~~~
|
|
64
103
|
|
|
@@ -127,52 +166,6 @@ Fixes:
|
|
|
127
166
|
- WMTS Demo now works if kvp is disabled
|
|
128
167
|
|
|
129
168
|
|
|
130
|
-
4.0.0 2025-03-21
|
|
131
|
-
~~~~~~~~~~~~~~~~
|
|
132
|
-
|
|
133
|
-
Breaking:
|
|
134
|
-
- Removed legacy seed configuration.
|
|
135
|
-
- Removed Python 3.8 support.
|
|
136
|
-
- Removed riak support as the client library is not maintained anymore. If you rely on the riak support you have to
|
|
137
|
-
continue to use version 3.1.3 with Python 3.8.
|
|
138
|
-
|
|
139
|
-
Improvements:
|
|
140
|
-
|
|
141
|
-
- The tile removal and refresh code is improved by simplifying the usage of `remove_timestamp` and `before_timestamp`
|
|
142
|
-
and complementing them by new `remove_all` and `refresh_all` parameters.
|
|
143
|
-
- Add a default logging config to the docker images.
|
|
144
|
-
- Add environment variables to the docker images to enable and configure multiapp support.
|
|
145
|
-
- Added a docker compose file to make it easy to run & build docker images and to use as reference.
|
|
146
|
-
- Updated and improved the documentation about usage of the docker images.
|
|
147
|
-
|
|
148
|
-
Maintenance:
|
|
149
|
-
|
|
150
|
-
- Use python build instead of invoking setup.py.
|
|
151
|
-
- Removal of the six library.
|
|
152
|
-
- Removed array initializers in function signatures.
|
|
153
|
-
|
|
154
|
-
Fixes:
|
|
155
|
-
|
|
156
|
-
- Added `AdminstrativeArea` to WMTS serviceprovider metadata.
|
|
157
|
-
- Fixed spelling & grammar in seed.rst.
|
|
158
|
-
- Fixed problem with combined usage of `coverage` and the `remove_all` cache config parameters.
|
|
159
|
-
- Fixed missing dimension parameters in the `remove_tile` functions of various caches.
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
3.1.3 2024-11-26
|
|
163
|
-
~~~~~~~~~~~~~~~~
|
|
164
|
-
|
|
165
|
-
Maintenance:
|
|
166
|
-
|
|
167
|
-
- Several dependencies for the tests and GitHub actions have been updated
|
|
168
|
-
- Spelling and grammar mistakes in the documentation corrected
|
|
169
|
-
|
|
170
|
-
Fixes:
|
|
171
|
-
|
|
172
|
-
- The chmod to update file permissions is now only called if the file was freshly created
|
|
173
|
-
- A bug with clipping polygons that become multi polygons due to the clipping is now fixed
|
|
174
|
-
|
|
175
|
-
|
|
176
169
|
|
|
177
170
|
Older changes
|
|
178
171
|
-------------
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: MapProxy
|
|
3
|
-
Version:
|
|
3
|
+
Version: 5.1.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,8 @@ Requires-Dist: Pillow>=9; python_version == "3.10"
|
|
|
34
34
|
Requires-Dist: Pillow>=10; python_version == "3.11"
|
|
35
35
|
Requires-Dist: Pillow>=10.1; python_version == "3.12"
|
|
36
36
|
Requires-Dist: Pillow>=11; python_version == "3.13"
|
|
37
|
+
Requires-Dist: lxml>=4
|
|
38
|
+
Requires-Dist: shapely>=2
|
|
37
39
|
Dynamic: author
|
|
38
40
|
Dynamic: author-email
|
|
39
41
|
Dynamic: classifier
|
|
@@ -59,6 +61,43 @@ The documentation is available at: http://mapproxy.github.io/mapproxy/latest/
|
|
|
59
61
|
|
|
60
62
|
Changes
|
|
61
63
|
-------
|
|
64
|
+
5.1.0 2025-09-30
|
|
65
|
+
~~~~~~~~~~~~~~~~
|
|
66
|
+
|
|
67
|
+
Improvements:
|
|
68
|
+
|
|
69
|
+
- Added `query_layers` option to `wms_opts` to be able to configure the `QUERY_LAYERS` of the wms request
|
|
70
|
+
- Added workflow to republish docker images if the base image changed, i.e. for security updates
|
|
71
|
+
|
|
72
|
+
Maintenance:
|
|
73
|
+
|
|
74
|
+
- Fixed some spelling and debug output
|
|
75
|
+
- Updated various dependencies
|
|
76
|
+
|
|
77
|
+
Fixes:
|
|
78
|
+
|
|
79
|
+
- Fixes some errors in the json schema regarding `use_direct_level_from` and `use_direct_res_from`
|
|
80
|
+
- Fixes an error with merging resolutions of grids
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
5.0.0 2025-06-18
|
|
84
|
+
~~~~~~~~~~~~~~~~
|
|
85
|
+
|
|
86
|
+
Breaking:
|
|
87
|
+
|
|
88
|
+
- The dependencies lxml, shapely, pyproj, gdal and PyYAML are no longer optional
|
|
89
|
+
|
|
90
|
+
Maintenance:
|
|
91
|
+
|
|
92
|
+
- By default lxml, shapely, pyproj, Pillow and PyYAML are now installed via pip and are not recommended to be installed
|
|
93
|
+
as apt packages anymore
|
|
94
|
+
|
|
95
|
+
Fixes:
|
|
96
|
+
|
|
97
|
+
- The alpine image uses the python3 plugin for uwsgi correctly
|
|
98
|
+
- An lxml encoding error is fixed
|
|
99
|
+
|
|
100
|
+
|
|
62
101
|
4.1.2 2025-05-27
|
|
63
102
|
~~~~~~~~~~~~~~~~
|
|
64
103
|
|
|
@@ -127,52 +166,6 @@ Fixes:
|
|
|
127
166
|
- WMTS Demo now works if kvp is disabled
|
|
128
167
|
|
|
129
168
|
|
|
130
|
-
4.0.0 2025-03-21
|
|
131
|
-
~~~~~~~~~~~~~~~~
|
|
132
|
-
|
|
133
|
-
Breaking:
|
|
134
|
-
- Removed legacy seed configuration.
|
|
135
|
-
- Removed Python 3.8 support.
|
|
136
|
-
- Removed riak support as the client library is not maintained anymore. If you rely on the riak support you have to
|
|
137
|
-
continue to use version 3.1.3 with Python 3.8.
|
|
138
|
-
|
|
139
|
-
Improvements:
|
|
140
|
-
|
|
141
|
-
- The tile removal and refresh code is improved by simplifying the usage of `remove_timestamp` and `before_timestamp`
|
|
142
|
-
and complementing them by new `remove_all` and `refresh_all` parameters.
|
|
143
|
-
- Add a default logging config to the docker images.
|
|
144
|
-
- Add environment variables to the docker images to enable and configure multiapp support.
|
|
145
|
-
- Added a docker compose file to make it easy to run & build docker images and to use as reference.
|
|
146
|
-
- Updated and improved the documentation about usage of the docker images.
|
|
147
|
-
|
|
148
|
-
Maintenance:
|
|
149
|
-
|
|
150
|
-
- Use python build instead of invoking setup.py.
|
|
151
|
-
- Removal of the six library.
|
|
152
|
-
- Removed array initializers in function signatures.
|
|
153
|
-
|
|
154
|
-
Fixes:
|
|
155
|
-
|
|
156
|
-
- Added `AdminstrativeArea` to WMTS serviceprovider metadata.
|
|
157
|
-
- Fixed spelling & grammar in seed.rst.
|
|
158
|
-
- Fixed problem with combined usage of `coverage` and the `remove_all` cache config parameters.
|
|
159
|
-
- Fixed missing dimension parameters in the `remove_tile` functions of various caches.
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
3.1.3 2024-11-26
|
|
163
|
-
~~~~~~~~~~~~~~~~
|
|
164
|
-
|
|
165
|
-
Maintenance:
|
|
166
|
-
|
|
167
|
-
- Several dependencies for the tests and GitHub actions have been updated
|
|
168
|
-
- Spelling and grammar mistakes in the documentation corrected
|
|
169
|
-
|
|
170
|
-
Fixes:
|
|
171
|
-
|
|
172
|
-
- The chmod to update file permissions is now only called if the file was freshly created
|
|
173
|
-
- A bug with clipping polygons that become multi polygons due to the clipping is now fixed
|
|
174
|
-
|
|
175
|
-
|
|
176
169
|
|
|
177
170
|
Older changes
|
|
178
171
|
-------------
|
|
@@ -41,64 +41,22 @@ Install Dependencies
|
|
|
41
41
|
|
|
42
42
|
MapProxy is written in Python, thus you will need a working Python installation. MapProxy works with Python 3.9 or higher, which should already be installed with most Linux distributions.
|
|
43
43
|
|
|
44
|
-
MapProxy requires a few third-party libraries that are required to run.
|
|
44
|
+
MapProxy requires a few third-party libraries that are required to run.
|
|
45
45
|
|
|
46
46
|
Installation
|
|
47
47
|
^^^^^^^^^^^^
|
|
48
48
|
|
|
49
49
|
On a Debian or Ubuntu system, you need to install the following packages::
|
|
50
50
|
|
|
51
|
-
sudo apt-get install
|
|
51
|
+
sudo apt-get install libgeos-dev libgdal-dev libxml2-dev libxslt-dev
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
Additional dependencies are installed automatically via pip when running `pip install MapProxy`. It is possible to use
|
|
54
|
+
apt packages for some dependencies instead, pip will detect them if they are already installed and can be used. The apt
|
|
55
|
+
packages will only work if the python version you are using is the same as the system wide installed python. The system
|
|
56
|
+
packages can be quite old, so this is **not recommended**::
|
|
54
57
|
|
|
55
|
-
sudo apt-get install
|
|
58
|
+
sudo apt-get install python3-dev python3-pil python3-yaml python3-pyproj python3-lxml python3-shapely
|
|
56
59
|
|
|
57
|
-
.. _dependency_details:
|
|
58
|
-
|
|
59
|
-
Dependency details
|
|
60
|
-
^^^^^^^^^^^^^^^^^^
|
|
61
|
-
|
|
62
|
-
pyproj or libproj
|
|
63
|
-
~~~~~~~~~~~~~~~~~
|
|
64
|
-
|
|
65
|
-
MapProxy uses the PROJ C library for all coordinate transformation tasks. MapProxy can directly use the C library or via the pyproj Python package.
|
|
66
|
-
The internal API of PROJ was updated with PROJ >=5. The old PROJ 4 API is now deprecated and will be removed from future PROJ releases. MapProxy only supports the new API via pyproj and it is therefore recommended to use a recent pyproj version.
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
.. versionchanged:: 1.13
|
|
70
|
-
Support for new PROJ API via pyproj.
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
.. _dependencies_pil:
|
|
74
|
-
|
|
75
|
-
Pillow
|
|
76
|
-
~~~~~~
|
|
77
|
-
Pillow, the successor of the Python Image Library (PIL), is used for the image processing and it is included in most distributions as ``python-pil`` or ``python-imaging``. Please make sure that you have Pillow installed as MapProxy is no longer compatible with the original PIL. The version of ``python-imaging`` should be >=3.1.
|
|
78
|
-
|
|
79
|
-
You can install a new version of Pillow from source with::
|
|
80
|
-
|
|
81
|
-
sudo apt-get install build-essential python-dev libjpeg-dev \
|
|
82
|
-
zlib1g-dev libfreetype6-dev
|
|
83
|
-
pip install Pillow
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
Shapely and GEOS *(optional)*
|
|
87
|
-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
88
|
-
You will need Shapely to use the :doc:`coverage feature <coverages>` of MapProxy. Shapely offers Python bindings for the GEOS library. You need Shapely (``python-shapely``) and GEOS (``libgeos-dev``). You can install Shapely as a Python package with ``pip install Shapely`` if you system does not provide a recent (>= 1.8) version of Shapely.
|
|
89
|
-
|
|
90
|
-
GDAL *(optional)*
|
|
91
|
-
~~~~~~~~~~~~~~~~~
|
|
92
|
-
The :doc:`coverage feature <coverages>` allows you to read geometries from OGR datasources (Shapefiles, PostGIS, etc.). This package is optional and only required for OGR datasource support (BBOX, WKT and GeoJSON coverages are supported natively). OGR is part of GDAL (``libgdal-dev``).
|
|
93
|
-
|
|
94
|
-
.. _lxml_install:
|
|
95
|
-
|
|
96
|
-
lxml *(optional)*
|
|
97
|
-
~~~~~~~~~~~~~~~~~
|
|
98
|
-
|
|
99
|
-
`lxml`_ is used for more advanced WMS FeatureInformation operations like XSL transformation or the concatenation of multiple XML/HTML documents. It is available as ``python-lxml``.
|
|
100
|
-
|
|
101
|
-
.. _`lxml`: http://lxml.de
|
|
102
60
|
|
|
103
61
|
Install MapProxy
|
|
104
62
|
----------------
|
|
@@ -93,6 +93,9 @@ This option affects what request MapProxy sends to the source WMS server.
|
|
|
93
93
|
``featureinfo_out_format``
|
|
94
94
|
Output format returned by the XSLT script. By default MapProxy will use ``featureinfo_format``.
|
|
95
95
|
|
|
96
|
+
``query_layers``
|
|
97
|
+
The ``QUERY_LAYERS`` for FeatureInfo requests. By default MapProxy will use the same as the LAYERS param.
|
|
98
|
+
|
|
96
99
|
.. versionadded:: 1.12.0
|
|
97
100
|
``featureinfo_out_format``
|
|
98
101
|
|
|
@@ -120,7 +123,7 @@ Disable this source in regular mode. If set to ``true``, this source will always
|
|
|
120
123
|
|
|
121
124
|
Limit the source to the given min and max resolution or scale. MapProxy will return a blank image for requests outside of these boundaries (``min_res`` is inclusive, ``max_res`` exclusive). You can use either the resolution or the scale values, missing values will be interpreted as `unlimited`. Resolutions should be in meters per pixel.
|
|
122
125
|
|
|
123
|
-
The values will also
|
|
126
|
+
The values will also appear in the capabilities documents (i.e. WMS ScaleHint and Min/MaxScaleDenominator). The boundaries will be regarded for each source, but the values in the capabilities might differ if you combine multiple sources or if the MapProxy layer already has a ``min/max_res`` configuration.
|
|
124
127
|
|
|
125
128
|
Please read :ref:`scale vs. resolution <scale_resolution>` for some notes on `scale`.
|
|
126
129
|
|
|
@@ -133,7 +136,7 @@ A list with SRSs that the WMS source supports. MapProxy will only query the sour
|
|
|
133
136
|
|
|
134
137
|
You don't need to configure this if you only use this WMS as a cache source and the WMS supports all SRS of the cache.
|
|
135
138
|
|
|
136
|
-
If MapProxy needs to reproject and the source has multiple ``supported_srs``, then it will use the first projected SRS for requests in a projected SRS, or the first geographic SRS for requests in a geographic SRS
|
|
139
|
+
If MapProxy needs to reproject and the source has multiple ``supported_srs``, then it will use the first projected SRS for requests in a projected SRS, or the first geographic SRS for requests in a geographic SRS e.g. when ``supported_srs`` is ``['EPSG:4326', 'EPSG:31467']`` caches with EPSG:3857 (projected, meter) will use EPSG:31467 (projected, meter) and not EPSG:4326 (geographic, lat/long).
|
|
137
140
|
|
|
138
141
|
.. .. note:: For the configuration of SRS for MapProxy see `srs_configuration`_.
|
|
139
142
|
|
|
@@ -162,7 +165,7 @@ See :ref:`image_options` for other options.
|
|
|
162
165
|
|
|
163
166
|
``transparent_color_tolerance``
|
|
164
167
|
|
|
165
|
-
Tolerance for the ``transparent_color`` substitution. The value defines the tolerance in each direction
|
|
168
|
+
Tolerance for the ``transparent_color`` substitution. The value defines the tolerance in each direction e.g. a tolerance of 5 and a color value of 100 will convert colors in the range of 95 to 105.
|
|
166
169
|
|
|
167
170
|
.. code-block:: yaml
|
|
168
171
|
|
|
@@ -250,7 +253,7 @@ You need to enable ``transparent`` for your source, if you use ``on_error`` resp
|
|
|
250
253
|
|
|
251
254
|
``authorize_stale``
|
|
252
255
|
|
|
253
|
-
Set this to ``True`` if MapProxy should serve in priority stale tiles present in cache. If the specified source error occurs, MapProxy will serve a stale tile which is still in cache instead of the error
|
|
256
|
+
Set this to ``True`` if MapProxy should serve in priority stale tiles present in cache. If the specified source error occurs, MapProxy will serve a stale tile which is still in cache instead of the error response, even if the tile in cache should be refreshed according to refresh_before date. Otherwise (``False``) MapProxy will serve the unicolor error response defined by the error handler if the source is faulty and the tile is not in cache, or is stale.
|
|
254
257
|
|
|
255
258
|
You need to enable ``transparent`` for your source, if you use ``on_error`` responses with transparency.
|
|
256
259
|
|
|
@@ -398,7 +401,7 @@ ImageServer example:
|
|
|
398
401
|
Tiles
|
|
399
402
|
"""""
|
|
400
403
|
|
|
401
|
-
Use the type ``tile`` to request data from
|
|
404
|
+
Use the type ``tile`` to request data from existing tile servers like TileCache and GeoWebCache. You can also use this source cascade MapProxy installations.
|
|
402
405
|
|
|
403
406
|
``url``
|
|
404
407
|
^^^^^^^
|
|
@@ -117,7 +117,7 @@ class MBTilesCache(TileCacheBase):
|
|
|
117
117
|
|
|
118
118
|
if self.file_permissions:
|
|
119
119
|
permission = int(self.file_permissions, base=8)
|
|
120
|
-
log.info("setting file permissions on MBTile file: ", permission)
|
|
120
|
+
log.info("setting file permissions on MBTile file: %s", permission)
|
|
121
121
|
os.chmod(self.mbtile_file, permission)
|
|
122
122
|
|
|
123
123
|
def update_metadata(self, name='', description='', version=1, overlay=True, format='png'):
|
|
@@ -180,7 +180,8 @@ class WMSInfoClient(object):
|
|
|
180
180
|
req.params.pos = query.pos
|
|
181
181
|
if query.feature_count:
|
|
182
182
|
req.params['feature_count'] = query.feature_count
|
|
183
|
-
|
|
183
|
+
if 'query_layers' not in req.params:
|
|
184
|
+
req.params['query_layers'] = req.params['layers']
|
|
184
185
|
if 'info_format' not in req.params and query.info_format:
|
|
185
186
|
req.params['info_format'] = query.info_format
|
|
186
187
|
if not req.params.format:
|
|
@@ -578,11 +578,11 @@
|
|
|
578
578
|
},
|
|
579
579
|
"use_direct_from_level": {
|
|
580
580
|
"description": "Requests below this level will not be stored",
|
|
581
|
-
"type": "
|
|
581
|
+
"type": "integer"
|
|
582
582
|
},
|
|
583
583
|
"use_direct_from_res": {
|
|
584
584
|
"description": "Requests below this resolution will not be stored",
|
|
585
|
-
"type": "
|
|
585
|
+
"type": "number"
|
|
586
586
|
},
|
|
587
587
|
"upscale_tiles": {
|
|
588
588
|
"description": "Upscale tiles by this many zoom levels if not available in cache",
|
|
@@ -674,8 +674,20 @@
|
|
|
674
674
|
"req": {
|
|
675
675
|
"title": "req",
|
|
676
676
|
"type": "object"
|
|
677
|
+
},
|
|
678
|
+
"wms_opts": {
|
|
679
|
+
"title": "wms_opts",
|
|
680
|
+
"type": "object",
|
|
681
|
+
"properties": {
|
|
682
|
+
"featureinfo": {
|
|
683
|
+
"type": "boolean"
|
|
684
|
+
},
|
|
685
|
+
"query_layers": {
|
|
686
|
+
"type": "string"
|
|
687
|
+
}
|
|
688
|
+
}
|
|
677
689
|
}
|
|
678
|
-
},
|
|
690
|
+
},
|
|
679
691
|
"required": ["req"]
|
|
680
692
|
}
|
|
681
693
|
]
|
|
@@ -17,6 +17,9 @@
|
|
|
17
17
|
Configuration loading and system initializing.
|
|
18
18
|
"""
|
|
19
19
|
from __future__ import division
|
|
20
|
+
|
|
21
|
+
import json
|
|
22
|
+
|
|
20
23
|
from mapproxy.util.fs import find_exec
|
|
21
24
|
from mapproxy.util.yaml import load_yaml_file, YAMLError
|
|
22
25
|
from mapproxy.util.py import memoize
|
|
@@ -749,12 +752,10 @@ class WMSSourceConfiguration(SourceConfiguration):
|
|
|
749
752
|
return WMSLegendSource([lg_client], legend_cache, static=True)
|
|
750
753
|
|
|
751
754
|
def fi_xslt_transformer(self, conf, context):
|
|
752
|
-
from mapproxy.featureinfo import XSLTransformer
|
|
755
|
+
from mapproxy.featureinfo import XSLTransformer
|
|
753
756
|
fi_transformer = None
|
|
754
757
|
fi_xslt = conf.get('featureinfo_xslt')
|
|
755
758
|
if fi_xslt:
|
|
756
|
-
if not has_xslt_support:
|
|
757
|
-
raise ValueError('featureinfo_xslt requires lxml. Please install.')
|
|
758
759
|
fi_xslt = context.globals.abspath(fi_xslt)
|
|
759
760
|
fi_format = conf.get('featureinfo_out_format')
|
|
760
761
|
if not fi_format:
|
|
@@ -864,6 +865,8 @@ class WMSSourceConfiguration(SourceConfiguration):
|
|
|
864
865
|
version = wms_opts.get('version', '1.1.1')
|
|
865
866
|
if 'featureinfo_format' in wms_opts:
|
|
866
867
|
params['info_format'] = wms_opts['featureinfo_format']
|
|
868
|
+
if 'query_layers' in wms_opts:
|
|
869
|
+
params['query_layers'] = wms_opts['query_layers']
|
|
867
870
|
fi_request = create_request(self.conf['req'], params,
|
|
868
871
|
req_type='featureinfo', version=version,
|
|
869
872
|
abspath=self.context.globals.abspath)
|
|
@@ -2098,12 +2101,10 @@ class LayerConfiguration(ConfigurationBase):
|
|
|
2098
2101
|
|
|
2099
2102
|
|
|
2100
2103
|
def fi_xslt_transformers(conf, context):
|
|
2101
|
-
from mapproxy.featureinfo import XSLTransformer
|
|
2104
|
+
from mapproxy.featureinfo import XSLTransformer
|
|
2102
2105
|
fi_transformers = {}
|
|
2103
2106
|
fi_xslt = conf.get('featureinfo_xslt')
|
|
2104
2107
|
if fi_xslt:
|
|
2105
|
-
if not has_xslt_support:
|
|
2106
|
-
raise ValueError('featureinfo_xslt requires lxml. Please install.')
|
|
2107
2108
|
for info_type, fi_xslt in fi_xslt.items():
|
|
2108
2109
|
fi_xslt = context.globals.abspath(fi_xslt)
|
|
2109
2110
|
fi_transformers[info_type] = XSLTransformer(fi_xslt)
|
|
@@ -2404,6 +2405,7 @@ def load_configuration(mapproxy_conf, seed=False, ignore_warnings=True, renderd=
|
|
|
2404
2405
|
|
|
2405
2406
|
try:
|
|
2406
2407
|
conf_dict = load_configuration_file([os.path.basename(mapproxy_conf)], conf_base_dir)
|
|
2408
|
+
log.debug('Loaded configuration file', json.dumps(conf_dict, indent=2, sort_keys=True, default=str))
|
|
2407
2409
|
except YAMLError as ex:
|
|
2408
2410
|
raise ConfigurationError(ex)
|
|
2409
2411
|
errors, informal_only = validate_options(conf_dict)
|
|
@@ -2459,7 +2461,7 @@ def merge_dict(conf, base):
|
|
|
2459
2461
|
base[k] = merge_dict(v, base[k])
|
|
2460
2462
|
elif isinstance(base[k], list):
|
|
2461
2463
|
if v is not None:
|
|
2462
|
-
if k in ['bbox', 'tile_size', 'max_output_pixels', 'sources', 'grids']:
|
|
2464
|
+
if k in ['bbox', 'tile_size', 'max_output_pixels', 'sources', 'grids', 'res']:
|
|
2463
2465
|
base[k] = v
|
|
2464
2466
|
elif k in ['layers']:
|
|
2465
2467
|
base[k] = merge_layers(v, base[k])
|
|
@@ -18,21 +18,15 @@ import copy
|
|
|
18
18
|
import json
|
|
19
19
|
|
|
20
20
|
from functools import reduce
|
|
21
|
-
from io import StringIO
|
|
21
|
+
from io import StringIO, BytesIO
|
|
22
22
|
from typing import List, Union
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
from lxml import etree, html
|
|
26
|
-
|
|
27
|
-
has_xslt_support = True
|
|
28
|
-
except ImportError:
|
|
29
|
-
has_xslt_support = False
|
|
30
|
-
etree = html = None
|
|
24
|
+
from lxml import etree, html
|
|
31
25
|
|
|
32
26
|
|
|
33
27
|
class FeatureInfoDoc(object):
|
|
34
28
|
content_type = None
|
|
35
|
-
content: str = None
|
|
29
|
+
content: Union[str, bytes] = None
|
|
36
30
|
|
|
37
31
|
def as_etree(self):
|
|
38
32
|
raise NotImplementedError()
|
|
@@ -45,10 +39,10 @@ class TextFeatureInfoDoc(FeatureInfoDoc):
|
|
|
45
39
|
info_type = "text"
|
|
46
40
|
|
|
47
41
|
def __init__(self, content: Union[str, bytes]):
|
|
48
|
-
self.content = content
|
|
42
|
+
self.content = content
|
|
49
43
|
|
|
50
44
|
def as_string(self) -> str:
|
|
51
|
-
return self.content
|
|
45
|
+
return self.content if isinstance(self.content, str) else decode(self.content)
|
|
52
46
|
|
|
53
47
|
@classmethod
|
|
54
48
|
def combine(cls, docs: List[FeatureInfoDoc]):
|
|
@@ -63,7 +57,7 @@ class XMLFeatureInfoDoc(FeatureInfoDoc):
|
|
|
63
57
|
|
|
64
58
|
def __init__(self, content: Union[str, bytes]):
|
|
65
59
|
if isinstance(content, (str, bytes)):
|
|
66
|
-
self.content = content
|
|
60
|
+
self.content = content
|
|
67
61
|
else:
|
|
68
62
|
if hasattr(content, "getroottree"):
|
|
69
63
|
content = content.getroottree()
|
|
@@ -73,7 +67,7 @@ class XMLFeatureInfoDoc(FeatureInfoDoc):
|
|
|
73
67
|
def as_string(self):
|
|
74
68
|
if self.content is None:
|
|
75
69
|
self.content = self._serialize_etree()
|
|
76
|
-
return self.content
|
|
70
|
+
return self.content if isinstance(self.content, str) else decode(self.content)
|
|
77
71
|
|
|
78
72
|
def as_etree(self):
|
|
79
73
|
if self._etree is None:
|
|
@@ -86,7 +80,7 @@ class XMLFeatureInfoDoc(FeatureInfoDoc):
|
|
|
86
80
|
return decode(etree.tostring(self._etree, encoding=encoding, xml_declaration=False), encoding)
|
|
87
81
|
|
|
88
82
|
def _parse_content(self):
|
|
89
|
-
return etree.parse(StringIO(self.content))
|
|
83
|
+
return etree.parse(StringIO(self.content) if isinstance(self.content, str) else BytesIO(self.content))
|
|
90
84
|
|
|
91
85
|
@classmethod
|
|
92
86
|
def combine(cls, docs):
|
|
@@ -137,10 +131,10 @@ class JSONFeatureInfoDoc(FeatureInfoDoc):
|
|
|
137
131
|
info_type = "json"
|
|
138
132
|
|
|
139
133
|
def __init__(self, content):
|
|
140
|
-
self.content = content
|
|
134
|
+
self.content = content
|
|
141
135
|
|
|
142
136
|
def as_string(self):
|
|
143
|
-
return self.content
|
|
137
|
+
return self.content if isinstance(self.content, str) else decode(self.content)
|
|
144
138
|
|
|
145
139
|
@classmethod
|
|
146
140
|
def combine(cls, docs):
|
|
@@ -779,6 +779,9 @@ def create_request(req_data, param, req_type='map', version='1.1.1', abspath=Non
|
|
|
779
779
|
if 'info_format' in param:
|
|
780
780
|
req_data['info_format'] = param['info_format']
|
|
781
781
|
|
|
782
|
+
if 'query_layers' in param:
|
|
783
|
+
req_data['query_layers'] = param['query_layers']
|
|
784
|
+
|
|
782
785
|
if 'transparent' in req_data:
|
|
783
786
|
# we don't want a boolean
|
|
784
787
|
req_data['transparent'] = str(req_data['transparent'])
|
|
@@ -129,6 +129,9 @@ layers:
|
|
|
129
129
|
- name: wms_managed_cookies_cache
|
|
130
130
|
title: WMS with cookies management
|
|
131
131
|
sources: [wms_managed_cookies]
|
|
132
|
+
- name: wms_fi_ql_cache
|
|
133
|
+
title: WMS with query_layers source
|
|
134
|
+
sources: [wms_fi_ql]
|
|
132
135
|
|
|
133
136
|
caches:
|
|
134
137
|
wms_cache:
|
|
@@ -169,6 +172,8 @@ caches:
|
|
|
169
172
|
text: '@ Omniscale'
|
|
170
173
|
wms_managed_cookies_cache:
|
|
171
174
|
sources: [wms_managed_cookies]
|
|
175
|
+
wms_fi_ql_cache:
|
|
176
|
+
sources: [wms_fi_ql]
|
|
172
177
|
|
|
173
178
|
sources:
|
|
174
179
|
direct:
|
|
@@ -258,3 +263,11 @@ sources:
|
|
|
258
263
|
layers: layer1
|
|
259
264
|
http:
|
|
260
265
|
manage_cookies: True
|
|
266
|
+
wms_fi_ql:
|
|
267
|
+
type: wms
|
|
268
|
+
wms_opts:
|
|
269
|
+
featureinfo: True
|
|
270
|
+
query_layers: foo
|
|
271
|
+
req:
|
|
272
|
+
url: http://localhost:42423/service
|
|
273
|
+
layers: foo,bar
|