MapProxy 3.0.1__tar.gz → 3.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-3.0.1 → MapProxy-3.1.0}/CHANGES.txt +17 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/MapProxy.egg-info/PKG-INFO +18 -15
- {MapProxy-3.0.1 → MapProxy-3.1.0}/MapProxy.egg-info/SOURCES.txt +2 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/PKG-INFO +18 -15
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/caches.rst +21 -1
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/configuration.rst +5 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/cache/base.py +3 -2
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/cache/compact.py +46 -17
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/cache/file.py +7 -3
- MapProxy-3.1.0/mapproxy/cache/geopackage.py +672 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/cache/legend.py +8 -2
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/cache/mbtiles.py +48 -39
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/cache/path.py +18 -12
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/config/loader.py +116 -13
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/config/spec.py +12 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/demo/tms_demo.html +1 -1
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/helper.py +31 -1
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_cache.py +51 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_cache_compact.py +32 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_cache_geopackage.py +25 -1
- MapProxy-3.1.0/mapproxy/test/unit/test_cache_mbtile.py +153 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_cache_tile.py +26 -112
- MapProxy-3.1.0/mapproxy/test/unit/test_fs.py +30 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/ext/lockfile.py +4 -1
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/fs.py +14 -3
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/lock.py +10 -14
- {MapProxy-3.0.1 → MapProxy-3.1.0}/requirements-tests.txt +5 -5
- {MapProxy-3.0.1 → MapProxy-3.1.0}/setup.py +1 -1
- MapProxy-3.0.1/mapproxy/cache/geopackage.py +0 -647
- {MapProxy-3.0.1 → MapProxy-3.1.0}/AUTHORS.txt +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/COPYING.txt +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/LICENSE.txt +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/MANIFEST.in +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/MapProxy.egg-info/dependency_links.txt +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/MapProxy.egg-info/entry_points.txt +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/MapProxy.egg-info/not-zip-safe +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/MapProxy.egg-info/requires.txt +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/MapProxy.egg-info/top_level.txt +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/README.md +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/GM.txt +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/_static/logo.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/_static/logo_title.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/_static/mapproxy.css +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/_templates/versions.html +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/auth.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/caching_layer_dimensions.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/conf.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/configuration_examples.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/coverages.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/decorate_img.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/deployment.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/development.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/imgs/bicubic.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/imgs/bilinear.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/imgs/labeling-dynamic.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/imgs/labeling-meta-buffer.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/imgs/labeling-metatiling-buffer.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/imgs/labeling-metatiling.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/imgs/labeling-no-clip.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/imgs/labeling-no-placement.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/imgs/labeling-partial-false.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/imgs/labeling-repeated.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/imgs/mapnik-webmerc-hq.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/imgs/mapnik-webmerc.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/imgs/mapproxy-demo.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/imgs/nearest.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/index.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/inspire.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/install.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/install_docker.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/install_osgeo4w.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/install_windows.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/labeling.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/mapproxy_util.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/mapproxy_util_autoconfig.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/plugins.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/seed.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/services.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/sources.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/tutorial.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/tutorial.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/yaml/cache_conf.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/yaml/grid_conf.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/yaml/merged_conf.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/yaml/meta_conf.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/yaml/seed.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/doc/yaml/simple_conf.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/cache/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/cache/azureblob.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/cache/couchdb.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/cache/dummy.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/cache/meta.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/cache/redis.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/cache/renderd.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/cache/riak.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/cache/s3.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/cache/tile.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/client/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/client/arcgis.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/client/cgi.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/client/http.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/client/log.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/client/tile.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/client/wms.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/compat/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/compat/image.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/config/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/config/config-schema.json +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/config/config.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/config/coverage.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/config/defaults.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/config/validator.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/config_template/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/config_template/base_config/config.wsgi +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/config_template/base_config/full_example.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/config_template/base_config/full_seed_example.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/config_template/base_config/log.ini +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/config_template/base_config/mapproxy.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/config_template/base_config/seed.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/exception.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/featureinfo.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/grid.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/image/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/image/fonts/DejaVuSans.ttf +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/image/fonts/DejaVuSansMono.ttf +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/image/fonts/LICENSE +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/image/fonts/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/image/mask.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/image/merge.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/image/message.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/image/opts.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/image/tile.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/image/transform.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/layer.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/multiapp.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/proj.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/request/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/request/arcgis.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/request/base.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/request/tile.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/request/wms/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/request/wms/exception.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/request/wmts.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/response.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/script/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/script/conf/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/script/conf/app.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/script/conf/caches.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/script/conf/geopackage.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/script/conf/layers.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/script/conf/seeds.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/script/conf/sources.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/script/conf/utils.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/script/defrag.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/script/export.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/script/grids.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/script/scales.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/script/util.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/script/wms_capabilities.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/seed/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/seed/cachelock.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/seed/cleanup.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/seed/config.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/seed/script.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/seed/seeder.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/seed/spec.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/seed/util.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/base.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/demo.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/kml.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/ows.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/template_helper.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/demo/capabilities_demo.html +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/demo/demo.html +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/demo/openlayers-demo.cfg +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/demo/static/img/blank.gif +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/demo/static/img/east-mini.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/demo/static/img/north-mini.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/demo/static/img/south-mini.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/demo/static/img/west-mini.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/demo/static/img/zoom-minus-mini.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/demo/static/img/zoom-plus-mini.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/demo/static/img/zoom-world-mini.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/demo/static/logo.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/demo/static/ol.css +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/demo/static/ol.js +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/demo/static/proj4.min.js +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/demo/static/proj4defs.js +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/demo/static/site.css +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/demo/static/theme/default/framedCloud.css +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/demo/static/theme/default/google.css +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/demo/static/theme/default/ie6-style.css +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/demo/static/theme/default/style.css +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/demo/static.html +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/demo/wms_demo.html +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/demo/wmts_demo.html +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/ows_exception.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/tms_capabilities.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/tms_exception.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/tms_root_resource.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/tms_tilemap_capabilities.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/wms100capabilities.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/wms100exception.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/wms110capabilities.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/wms110exception.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/wms111capabilities.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/wms111exception.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/wms130capabilities.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/wms130exception.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/wmts100capabilities.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/templates/wmts100exception.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/tile.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/wms.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/service/wmts.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/source/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/source/arcgis.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/source/error.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/source/mapnik.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/source/tile.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/source/wms.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/srs.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/template.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/conftest.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/http.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/image.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/mocker.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/inspire/common/1.0/common.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_bul.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_cze.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_dan.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_dut.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_eng.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_est.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_fin.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_fre.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_ger.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_gle.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_gre.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_hun.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_ita.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_lav.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_lit.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_mlt.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_pol.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_por.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_rum.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_slo.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_slv.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_spa.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_swe.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/inspire/common/1.0/network.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/inspire/inspire_vs/1.0/inspire_vs.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/kml/2.2.0/ReadMe.txt +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/kml/2.2.0/atom-author-link.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/kml/2.2.0/ogckml22.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/kml/2.2.0/xAL.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/ows/1.1.0/ReadMe.txt +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/ows/1.1.0/ows19115subset.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/ows/1.1.0/owsAll.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/ows/1.1.0/owsCommon.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/ows/1.1.0/owsContents.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/ows/1.1.0/owsDataIdentification.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/ows/1.1.0/owsDomainType.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/ows/1.1.0/owsExceptionReport.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/ows/1.1.0/owsGetCapabilities.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/ows/1.1.0/owsGetResourceByID.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/ows/1.1.0/owsInputOutputData.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/ows/1.1.0/owsManifest.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/ows/1.1.0/owsOperationsMetadata.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/ows/1.1.0/owsServiceIdentification.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/ows/1.1.0/owsServiceProvider.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/sld/1.1.0/sld_capabilities.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wms/1.0.0/capabilities_1_0_0.dtd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wms/1.0.0/capabilities_1_0_0.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wms/1.0.7/capabilities_1_0_7.dtd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wms/1.0.7/capabilities_1_0_7.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wms/1.1.0/capabilities_1_1_0.dtd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wms/1.1.0/capabilities_1_1_0.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wms/1.1.0/exception_1_1_0.dtd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wms/1.1.0/exception_1_1_0.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wms/1.1.1/OGC-exception.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wms/1.1.1/WMS_DescribeLayerResponse.dtd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wms/1.1.1/WMS_MS_Capabilities.dtd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wms/1.1.1/WMS_exception_1_1_1.dtd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wms/1.1.1/capabilities_1_1_1.dtd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wms/1.1.1/capabilities_1_1_1.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wms/1.1.1/exception_1_1_1.dtd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wms/1.1.1/exception_1_1_1.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wms/1.3.0/ReadMe.txt +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wms/1.3.0/capabilities_1_3_0.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wms/1.3.0/capabilities_1_3_0.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wms/1.3.0/exceptions_1_3_0.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wms/1.3.0/exceptions_1_3_0.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wmsc/1.1.1/OGC-exception.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wmsc/1.1.1/WMS_DescribeLayerResponse.dtd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wmsc/1.1.1/WMS_MS_Capabilities.dtd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wmsc/1.1.1/WMS_exception_1_1_1.dtd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wmsc/1.1.1/capabilities_1_1_1.dtd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wmsc/1.1.1/capabilities_1_1_1.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wmsc/1.1.1/exception_1_1_1.dtd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wmsc/1.1.1/exception_1_1_1.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wmts/1.0/ReadMe.txt +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wmts/1.0/wmts.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wmts/1.0/wmtsAbstract.wsdl +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wmts/1.0/wmtsGetCapabilities_request.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wmts/1.0/wmtsGetCapabilities_response.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wmts/1.0/wmtsGetFeatureInfo_request.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wmts/1.0/wmtsGetFeatureInfo_response.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wmts/1.0/wmtsGetTile_request.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wmts/1.0/wmtsKVP.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/wmts/1.0/wmtsPayload_response.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/xlink/1.0.0/ReadMe.txt +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/xlink/1.0.0/xlinks.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/schemas/xml.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/arcgis.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/auth.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/cache.mbtiles +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/cache_azureblob.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/cache_band_merge.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/cache_bulk_meta_tiles.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/cache_coverage.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/cache_data/dop_cache_EPSG3857/00/000/000/000/000/000/000.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/cache_data/wms_cache_EPSG900913/01/000/000/000/000/000/001.jpeg +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/cache_data/wms_cache_transparent_EPSG900913/01/000/000/000/000/000/001.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/cache_geopackage.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/cache_grid_names.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/cache_mbtiles.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/cache_s3.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/cache_source.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/combined_sources.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/coverage.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/demo.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/dimension.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/disable_storage.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/empty_ogrdata.geojson +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/formats.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/inspire.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/inspire_full.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/kml_layer.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/layer.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/layergroups.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/layergroups_root.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/legendgraphic.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/mapnik_source.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/mapproxy_export.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/mapserver.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/minimal_cgi.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/mixed_mode.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/multi_cache_layers.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/multiapp1.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/multiapp2.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/renderd_client.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/scalehints.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/seed.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/seed_mapproxy.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/seed_old.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/seed_timeouts.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/seed_timeouts_mapproxy.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/seedonly.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/sld.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/source_errors.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/source_errors_raise.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/tileservice_origin.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/tileservice_refresh.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/tilesource_minmax_res.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/util-conf-base-grids.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/util-conf-overwrite.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/util-conf-wms-111-cap.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/util_grids.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/util_wms_capabilities111.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/util_wms_capabilities130.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/util_wms_capabilities_service_exception.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/watermark.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/wms_srs_extent.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/wms_versions.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/wmts.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/wmts_dimensions.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/xslt_featureinfo.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/fixture/xslt_featureinfo_input.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_arcgis.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_auth.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_behind_proxy.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_bulk_meta_tiles.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_cache_azureblob.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_cache_band_merge.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_cache_coverage.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_cache_geopackage.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_cache_grid_names.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_cache_mbtiles.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_cache_s3.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_cache_source.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_combined_sources.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_coverage.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_decorate_img.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_demo.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_demo_with_extra_service.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_dimensions.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_disable_storage.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_formats.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_inspire_vs.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_kml.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_layergroups.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_legendgraphic.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_mapnik.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_mapserver.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_mixed_mode_format.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_multi_cache_layers.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_multiapp.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_refresh.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_renderd_client.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_response_headers.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_scalehints.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_seed.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_seed_only.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_sld.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_source_errors.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_tilesource_minmax_res.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_tms.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_tms_origin.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_util_conf.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_util_export.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_util_grids.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_util_wms_capabilities.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_watermark.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_wms.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_wms_srs_extent.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_wms_version.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_wmsc.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_wmts.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_wmts_dimensions.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_wmts_restful.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/system/test_xslt_featureinfo.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/test_http_helper.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/epsg +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/polygons/polygons.dbf +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/polygons/polygons.shp +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/polygons/polygons.shx +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_async.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_auth.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_cache_azureblob.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_cache_couchdb.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_cache_redis.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_cache_riak.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_cache_s3.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_client.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_client_arcgis.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_client_cgi.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_collections.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_concat_legends.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_conf_loader.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_conf_validator.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_config.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_decorate_img.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_exceptions.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_featureinfo.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_file_lock_load.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_geom.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_grid.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_image.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_image_mask.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_image_messages.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_image_options.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_isodate.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_multiapp.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_ogr_reader.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_request.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_request_wmts.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_response.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_seed.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_seed_cachelock.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_srs.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_tiled_source.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_tilefilter.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_times.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_timeutils.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_util_conf_utils.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_utils.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_wms_capabilities.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_wms_layer.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/test/unit/test_yaml.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/tilefilter.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/async_.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/collections.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/coverage.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/ext/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/ext/dictspec/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/ext/dictspec/spec.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/ext/dictspec/test/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/ext/dictspec/test/test_validator.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/ext/dictspec/validator.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/ext/local.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/ext/odict.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/ext/serving.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/ext/tempita/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/ext/tempita/_looper.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/ext/tempita/string_utils.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/ext/wmsparse/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/ext/wmsparse/duration.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/ext/wmsparse/parse.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/ext/wmsparse/test/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/ext/wmsparse/test/test_parse.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/ext/wmsparse/test/test_util.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/ext/wmsparse/test/wms-example-111.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/ext/wmsparse/test/wms-example-130.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/ext/wmsparse/test/wms-large-111.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/ext/wmsparse/test/wms_nasa_cap.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/ext/wmsparse/util.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/geom.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/lib.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/ogr.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/py.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/times.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/util/yaml.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/version.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/mapproxy/wsgiapp.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.0}/setup.cfg +0 -0
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
3.1.0 2024-10-22
|
|
2
|
+
~~~~~~~~~~~~~~~~
|
|
3
|
+
|
|
4
|
+
Improvements:
|
|
5
|
+
|
|
6
|
+
- Add new config parameters `file_permissions` and `directory_permissions` to set file and directory
|
|
7
|
+
permissions on newly created cache files and directories.
|
|
8
|
+
|
|
9
|
+
Maintenance:
|
|
10
|
+
|
|
11
|
+
- Dependency updates
|
|
12
|
+
|
|
13
|
+
Fixes:
|
|
14
|
+
|
|
15
|
+
- Fix transparency in TMS demo page.
|
|
16
|
+
|
|
17
|
+
|
|
1
18
|
3.0.1 2024-08-27
|
|
2
19
|
~~~~~~~~~~~~~~~~
|
|
3
20
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: MapProxy
|
|
3
|
-
Version: 3.0
|
|
3
|
+
Version: 3.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,23 @@ The documentation is available at: http://mapproxy.github.io/mapproxy/latest/
|
|
|
34
34
|
|
|
35
35
|
Changes
|
|
36
36
|
-------
|
|
37
|
+
3.1.0 2024-10-22
|
|
38
|
+
~~~~~~~~~~~~~~~~
|
|
39
|
+
|
|
40
|
+
Improvements:
|
|
41
|
+
|
|
42
|
+
- Add new config parameters `file_permissions` and `directory_permissions` to set file and directory
|
|
43
|
+
permissions on newly created cache files and directories.
|
|
44
|
+
|
|
45
|
+
Maintenance:
|
|
46
|
+
|
|
47
|
+
- Dependency updates
|
|
48
|
+
|
|
49
|
+
Fixes:
|
|
50
|
+
|
|
51
|
+
- Fix transparency in TMS demo page.
|
|
52
|
+
|
|
53
|
+
|
|
37
54
|
3.0.1 2024-08-27
|
|
38
55
|
~~~~~~~~~~~~~~~~
|
|
39
56
|
|
|
@@ -132,20 +149,6 @@ Fixes:
|
|
|
132
149
|
|
|
133
150
|
- Revert PR "Fix mixed image format for file, S3 and azureblob caches"
|
|
134
151
|
|
|
135
|
-
2.0.1 2024-01-05
|
|
136
|
-
~~~~~~~~~~~~~~~~~
|
|
137
|
-
Improvements:
|
|
138
|
-
|
|
139
|
-
- Alpine based docker images have been added
|
|
140
|
-
- Added parameter to change background map source in layer preview
|
|
141
|
-
- Dependency updates
|
|
142
|
-
|
|
143
|
-
Fixes:
|
|
144
|
-
|
|
145
|
-
- Rendering issue: Check for existing tile coordinates before using them
|
|
146
|
-
- Fix mixed image format for file, S3 and azureblob caches
|
|
147
|
-
|
|
148
|
-
|
|
149
152
|
|
|
150
153
|
Older changes
|
|
151
154
|
-------------
|
|
@@ -436,6 +436,7 @@ mapproxy/test/unit/test_cache_azureblob.py
|
|
|
436
436
|
mapproxy/test/unit/test_cache_compact.py
|
|
437
437
|
mapproxy/test/unit/test_cache_couchdb.py
|
|
438
438
|
mapproxy/test/unit/test_cache_geopackage.py
|
|
439
|
+
mapproxy/test/unit/test_cache_mbtile.py
|
|
439
440
|
mapproxy/test/unit/test_cache_redis.py
|
|
440
441
|
mapproxy/test/unit/test_cache_riak.py
|
|
441
442
|
mapproxy/test/unit/test_cache_s3.py
|
|
@@ -452,6 +453,7 @@ mapproxy/test/unit/test_decorate_img.py
|
|
|
452
453
|
mapproxy/test/unit/test_exceptions.py
|
|
453
454
|
mapproxy/test/unit/test_featureinfo.py
|
|
454
455
|
mapproxy/test/unit/test_file_lock_load.py
|
|
456
|
+
mapproxy/test/unit/test_fs.py
|
|
455
457
|
mapproxy/test/unit/test_geom.py
|
|
456
458
|
mapproxy/test/unit/test_grid.py
|
|
457
459
|
mapproxy/test/unit/test_image.py
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: MapProxy
|
|
3
|
-
Version: 3.0
|
|
3
|
+
Version: 3.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,23 @@ The documentation is available at: http://mapproxy.github.io/mapproxy/latest/
|
|
|
34
34
|
|
|
35
35
|
Changes
|
|
36
36
|
-------
|
|
37
|
+
3.1.0 2024-10-22
|
|
38
|
+
~~~~~~~~~~~~~~~~
|
|
39
|
+
|
|
40
|
+
Improvements:
|
|
41
|
+
|
|
42
|
+
- Add new config parameters `file_permissions` and `directory_permissions` to set file and directory
|
|
43
|
+
permissions on newly created cache files and directories.
|
|
44
|
+
|
|
45
|
+
Maintenance:
|
|
46
|
+
|
|
47
|
+
- Dependency updates
|
|
48
|
+
|
|
49
|
+
Fixes:
|
|
50
|
+
|
|
51
|
+
- Fix transparency in TMS demo page.
|
|
52
|
+
|
|
53
|
+
|
|
37
54
|
3.0.1 2024-08-27
|
|
38
55
|
~~~~~~~~~~~~~~~~
|
|
39
56
|
|
|
@@ -132,20 +149,6 @@ Fixes:
|
|
|
132
149
|
|
|
133
150
|
- Revert PR "Fix mixed image format for file, S3 and azureblob caches"
|
|
134
151
|
|
|
135
|
-
2.0.1 2024-01-05
|
|
136
|
-
~~~~~~~~~~~~~~~~~
|
|
137
|
-
Improvements:
|
|
138
|
-
|
|
139
|
-
- Alpine based docker images have been added
|
|
140
|
-
- Added parameter to change background map source in layer preview
|
|
141
|
-
- Dependency updates
|
|
142
|
-
|
|
143
|
-
Fixes:
|
|
144
|
-
|
|
145
|
-
- Rendering issue: Check for existing tile coordinates before using them
|
|
146
|
-
- Fix mixed image format for file, S3 and azureblob caches
|
|
147
|
-
|
|
148
|
-
|
|
149
152
|
|
|
150
153
|
Older changes
|
|
151
154
|
-------------
|
|
@@ -89,6 +89,11 @@ This is the default cache type and it uses a single file for each tile. Availabl
|
|
|
89
89
|
|
|
90
90
|
.. versionadded:: 2.0.0
|
|
91
91
|
|
|
92
|
+
``directory_permissions``, ``file_permissions``:
|
|
93
|
+
Permissions that MapProxy will set when creating files and directories. Must be given as string containing the octal representation of permissions. I.e. ``rwxrw-r--`` is ``'764'``. This will not work on windows OS.
|
|
94
|
+
|
|
95
|
+
.. versionadded:: 3.1.0
|
|
96
|
+
|
|
92
97
|
.. _cache_mbtiles:
|
|
93
98
|
|
|
94
99
|
``mbtiles``
|
|
@@ -126,6 +131,11 @@ You can set the ``sources`` to an empty list, if you use an existing MBTiles fil
|
|
|
126
131
|
|
|
127
132
|
The note about ``bulk_meta_tiles`` for SQLite below applies to MBtiles as well.
|
|
128
133
|
|
|
134
|
+
``directory_permissions``, ``file_permissions``:
|
|
135
|
+
Permissions that MapProxy will set when creating files and directories. Must be given as string containing the octal representation of permissions. I.e. ``rwxrw-r--`` is ``'764'``. This will not work on windows OS.
|
|
136
|
+
|
|
137
|
+
.. versionadded:: 3.1.0
|
|
138
|
+
|
|
129
139
|
.. _cache_sqlite:
|
|
130
140
|
|
|
131
141
|
``sqlite``
|
|
@@ -176,6 +186,11 @@ Available options:
|
|
|
176
186
|
type: sqlite
|
|
177
187
|
directory: /path/to/cache
|
|
178
188
|
|
|
189
|
+
``directory_permissions``, ``file_permissions``:
|
|
190
|
+
Permissions that MapProxy will set when creating files and directories. Must be given as string containing the octal representation of permissions. I.e. ``rwxrw-r--`` is ``'764'``. This will not work on windows OS.
|
|
191
|
+
|
|
192
|
+
.. versionadded:: 3.1.0
|
|
193
|
+
|
|
179
194
|
.. _cache_couchdb:
|
|
180
195
|
|
|
181
196
|
``couchdb``
|
|
@@ -273,7 +288,7 @@ MapProxy will place the JSON document for tile z=3, x=1, y=2 at ``http://localho
|
|
|
273
288
|
|
|
274
289
|
|
|
275
290
|
.. code-block:: json
|
|
276
|
-
|
|
291
|
+
|
|
277
292
|
|
|
278
293
|
{
|
|
279
294
|
"_attachments": {
|
|
@@ -651,6 +666,11 @@ Available options:
|
|
|
651
666
|
``version``:
|
|
652
667
|
The version of the ArcGIS compact cache format. This option is required. Either ``1`` or ``2``.
|
|
653
668
|
|
|
669
|
+
``directory_permissions``, ``file_permissions``:
|
|
670
|
+
Permissions that MapProxy will set when creating files and directories. Must be given as string containing the octal representation of permissions. I.e. ``rwxrw-r--`` is ``'764'``. This will not work on windows OS.
|
|
671
|
+
|
|
672
|
+
.. versionadded:: 3.1.0
|
|
673
|
+
|
|
654
674
|
|
|
655
675
|
You can set the ``sources`` to an empty list, if you use an existing compact cache files and do not have a source.
|
|
656
676
|
|
|
@@ -1055,6 +1055,11 @@ The following options define how tiles are created and stored. Most options can
|
|
|
1055
1055
|
``max_tile_limit``
|
|
1056
1056
|
Maximum number of tiles MapProxy will merge together for a WMS request. This limit is for each layer and defaults to 500 tiles.
|
|
1057
1057
|
|
|
1058
|
+
``directory_permissions``, ``file_permissions``:
|
|
1059
|
+
Permissions that MapProxy will set when creating files and directories. Must be given as string containing the octal representation of permissions. I.e. ``rwxrw-r--`` is ``'764'``. This will not work on windows OS.
|
|
1060
|
+
|
|
1061
|
+
.. versionadded:: 3.1.0
|
|
1062
|
+
|
|
1058
1063
|
|
|
1059
1064
|
``srs``
|
|
1060
1065
|
"""""""
|
|
@@ -98,10 +98,11 @@ if sys.platform == 'win32':
|
|
|
98
98
|
|
|
99
99
|
|
|
100
100
|
class TileLocker(object):
|
|
101
|
-
def __init__(self, lock_dir, lock_timeout, lock_cache_id):
|
|
101
|
+
def __init__(self, lock_dir, lock_timeout, lock_cache_id, directory_permissions=None):
|
|
102
102
|
self.lock_dir = lock_dir
|
|
103
103
|
self.lock_timeout = lock_timeout
|
|
104
104
|
self.lock_cache_id = lock_cache_id
|
|
105
|
+
self.directory_permissions = directory_permissions
|
|
105
106
|
|
|
106
107
|
def lock_filename(self, tile):
|
|
107
108
|
return os.path.join(self.lock_dir, self.lock_cache_id + '-' +
|
|
@@ -117,4 +118,4 @@ class TileLocker(object):
|
|
|
117
118
|
cleanup_lockdir(self.lock_dir, max_lock_time=self.lock_timeout + 10,
|
|
118
119
|
force=False)
|
|
119
120
|
return FileLock(lock_filename, timeout=self.lock_timeout,
|
|
120
|
-
remove_on_unlock=REMOVE_ON_UNLOCK)
|
|
121
|
+
remove_on_unlock=REMOVE_ON_UNLOCK, directory_permissions=self.directory_permissions)
|
|
@@ -34,11 +34,14 @@ class CompactCacheBase(TileCacheBase):
|
|
|
34
34
|
supports_timestamp = False
|
|
35
35
|
bundle_class = None
|
|
36
36
|
|
|
37
|
-
def __init__(self, cache_dir, coverage=None
|
|
37
|
+
def __init__(self, cache_dir, coverage=None,
|
|
38
|
+
directory_permissions=None, file_permissions=None):
|
|
38
39
|
super(CompactCacheBase, self).__init__(coverage)
|
|
39
40
|
md5 = hashlib.new('md5', cache_dir.encode('utf-8'), usedforsecurity=False)
|
|
40
41
|
self.lock_cache_id = 'compactcache-' + md5.hexdigest()
|
|
41
42
|
self.cache_dir = cache_dir
|
|
43
|
+
self.directory_permissions = directory_permissions
|
|
44
|
+
self.file_permissions = file_permissions
|
|
42
45
|
|
|
43
46
|
def _get_bundle_fname_and_offset(self, tile_coord):
|
|
44
47
|
x, y, z = tile_coord
|
|
@@ -53,7 +56,8 @@ class CompactCacheBase(TileCacheBase):
|
|
|
53
56
|
|
|
54
57
|
def _get_bundle(self, tile_coord):
|
|
55
58
|
bundle_fname, offset = self._get_bundle_fname_and_offset(tile_coord)
|
|
56
|
-
return self.bundle_class(bundle_fname, offset=offset
|
|
59
|
+
return self.bundle_class(bundle_fname, offset=offset, file_permissions=self.file_permissions,
|
|
60
|
+
directory_permissions=self.directory_permissions)
|
|
57
61
|
|
|
58
62
|
def is_cached(self, tile, dimensions=None):
|
|
59
63
|
if tile.coord is None:
|
|
@@ -138,10 +142,12 @@ BUNDLEX_V1_EXT = '.bundlx'
|
|
|
138
142
|
|
|
139
143
|
|
|
140
144
|
class BundleV1(object):
|
|
141
|
-
def __init__(self, base_filename, offset):
|
|
145
|
+
def __init__(self, base_filename, offset, file_permissions=None, directory_permissions=None):
|
|
142
146
|
self.base_filename = base_filename
|
|
143
147
|
self.lock_filename = base_filename + '.lck'
|
|
144
148
|
self.offset = offset
|
|
149
|
+
self.file_permissions = file_permissions
|
|
150
|
+
self.directory_permissions = directory_permissions
|
|
145
151
|
|
|
146
152
|
def _rel_tile_coord(self, tile_coord):
|
|
147
153
|
return (
|
|
@@ -150,10 +156,11 @@ class BundleV1(object):
|
|
|
150
156
|
)
|
|
151
157
|
|
|
152
158
|
def data(self):
|
|
153
|
-
return BundleDataV1(self.base_filename + BUNDLE_EXT, self.offset
|
|
159
|
+
return BundleDataV1(self.base_filename + BUNDLE_EXT, self.offset,
|
|
160
|
+
self.directory_permissions, self.file_permissions)
|
|
154
161
|
|
|
155
162
|
def index(self):
|
|
156
|
-
return BundleIndexV1(self.base_filename + BUNDLEX_V1_EXT)
|
|
163
|
+
return BundleIndexV1(self.base_filename + BUNDLEX_V1_EXT, self.directory_permissions, self.file_permissions)
|
|
157
164
|
|
|
158
165
|
def is_cached(self, tile, dimensions=None):
|
|
159
166
|
if tile.source or tile.coord is None:
|
|
@@ -185,7 +192,7 @@ class BundleV1(object):
|
|
|
185
192
|
data = buf.read()
|
|
186
193
|
tiles_data.append((t.coord, data))
|
|
187
194
|
|
|
188
|
-
with FileLock(self.lock_filename):
|
|
195
|
+
with FileLock(self.lock_filename, directory_permissions=self.directory_permissions, remove_on_unlock=True):
|
|
189
196
|
with self.data().readwrite() as bundle:
|
|
190
197
|
with self.index().readwrite() as idx:
|
|
191
198
|
for tile_coord, data in tiles_data:
|
|
@@ -229,7 +236,7 @@ class BundleV1(object):
|
|
|
229
236
|
if tile.coord is None:
|
|
230
237
|
return True
|
|
231
238
|
|
|
232
|
-
with FileLock(self.lock_filename):
|
|
239
|
+
with FileLock(self.lock_filename, directory_permissions=self.directory_permissions, remove_on_unlock=True):
|
|
233
240
|
with self.index().readwrite() as idx:
|
|
234
241
|
x, y = self._rel_tile_coord(tile.coord)
|
|
235
242
|
idx.remove_tile_offset(x, y)
|
|
@@ -269,9 +276,11 @@ INT64LE = struct.Struct('<Q')
|
|
|
269
276
|
|
|
270
277
|
|
|
271
278
|
class BundleIndexV1(object):
|
|
272
|
-
def __init__(self, filename):
|
|
279
|
+
def __init__(self, filename, directory_permissions=None, file_permissions=None):
|
|
273
280
|
self.filename = filename
|
|
274
281
|
self._fh = None
|
|
282
|
+
self.directory_permissions = directory_permissions
|
|
283
|
+
self.file_permissions = file_permissions
|
|
275
284
|
# defer initialization to update/remove calls to avoid
|
|
276
285
|
# index creation on is_cached (prevents new files in read-only caches)
|
|
277
286
|
self._initialized = False
|
|
@@ -280,7 +289,7 @@ class BundleIndexV1(object):
|
|
|
280
289
|
self._initialized = True
|
|
281
290
|
if os.path.exists(self.filename):
|
|
282
291
|
return
|
|
283
|
-
ensure_directory(self.filename)
|
|
292
|
+
ensure_directory(self.filename, self.directory_permissions)
|
|
284
293
|
buf = BytesIO()
|
|
285
294
|
buf.write(BUNDLEX_V1_HEADER)
|
|
286
295
|
|
|
@@ -288,6 +297,10 @@ class BundleIndexV1(object):
|
|
|
288
297
|
buf.write(INT64LE.pack((i*4)+BUNDLE_V1_HEADER_SIZE)[:5])
|
|
289
298
|
buf.write(BUNDLEX_V1_FOOTER)
|
|
290
299
|
write_atomic(self.filename, buf.getvalue())
|
|
300
|
+
if self.file_permissions:
|
|
301
|
+
permission = int(self.file_permissions, base=8)
|
|
302
|
+
log.info("setting file permissions on compact cache file: " + self.file_permissions)
|
|
303
|
+
os.chmod(self.filename, permission)
|
|
291
304
|
|
|
292
305
|
def _tile_index_offset(self, x, y):
|
|
293
306
|
return BUNDLEX_V1_HEADER_SIZE + (x * BUNDLEX_V1_GRID_HEIGHT + y) * 5
|
|
@@ -333,6 +346,10 @@ class BundleIndexV1(object):
|
|
|
333
346
|
def readwrite(self):
|
|
334
347
|
self._init_index()
|
|
335
348
|
with open(self.filename, 'r+b') as fh:
|
|
349
|
+
if self.file_permissions:
|
|
350
|
+
permission = int(self.file_permissions, base=8)
|
|
351
|
+
log.info("setting file permissions on compact cache file: " + self.file_permissions)
|
|
352
|
+
os.chmod(self.filename, permission)
|
|
336
353
|
b = BundleIndexV1(self.filename)
|
|
337
354
|
b._fh = fh
|
|
338
355
|
yield b
|
|
@@ -361,15 +378,17 @@ BUNDLE_V1_HEADER_STRUCT_FORMAT = '<4I3Q5I'
|
|
|
361
378
|
|
|
362
379
|
|
|
363
380
|
class BundleDataV1(object):
|
|
364
|
-
def __init__(self, filename, tile_offsets):
|
|
381
|
+
def __init__(self, filename, tile_offsets, directory_permissions=None, file_permissions=None):
|
|
365
382
|
self.filename = filename
|
|
366
383
|
self.tile_offsets = tile_offsets
|
|
367
384
|
self._fh = None
|
|
385
|
+
self.directory_permissions = directory_permissions
|
|
386
|
+
self.file_permissions = file_permissions
|
|
368
387
|
if not os.path.exists(self.filename):
|
|
369
388
|
self._init_bundle()
|
|
370
389
|
|
|
371
390
|
def _init_bundle(self):
|
|
372
|
-
ensure_directory(self.filename)
|
|
391
|
+
ensure_directory(self.filename, self.directory_permissions)
|
|
373
392
|
header = list(BUNDLE_V1_HEADER)
|
|
374
393
|
header[10], header[8] = self.tile_offsets
|
|
375
394
|
header[11], header[9] = header[10]+127, header[8]+127
|
|
@@ -377,18 +396,22 @@ class BundleDataV1(object):
|
|
|
377
396
|
struct.pack(BUNDLE_V1_HEADER_STRUCT_FORMAT, *header) +
|
|
378
397
|
# zero-size entry for each tile
|
|
379
398
|
(b'\x00' * (BUNDLEX_V1_GRID_HEIGHT * BUNDLEX_V1_GRID_WIDTH * 4)))
|
|
399
|
+
if self.file_permissions:
|
|
400
|
+
permission = int(self.file_permissions, base=8)
|
|
401
|
+
log.info("setting file permissions on compact cache file: " + self.file_permissions)
|
|
402
|
+
os.chmod(self.filename, permission)
|
|
380
403
|
|
|
381
404
|
@contextlib.contextmanager
|
|
382
405
|
def readonly(self):
|
|
383
406
|
with open(self.filename, 'rb') as fh:
|
|
384
|
-
b = BundleDataV1(self.filename, self.tile_offsets)
|
|
407
|
+
b = BundleDataV1(self.filename, self.tile_offsets, self.directory_permissions, self.file_permissions)
|
|
385
408
|
b._fh = fh
|
|
386
409
|
yield b
|
|
387
410
|
|
|
388
411
|
@contextlib.contextmanager
|
|
389
412
|
def readwrite(self):
|
|
390
413
|
with open(self.filename, 'r+b') as fh:
|
|
391
|
-
b = BundleDataV1(self.filename, self.tile_offsets)
|
|
414
|
+
b = BundleDataV1(self.filename, self.tile_offsets, self.directory_permissions, self.file_permissions)
|
|
392
415
|
b._fh = fh
|
|
393
416
|
yield b
|
|
394
417
|
|
|
@@ -464,10 +487,12 @@ BUNDLE_V2_HEADER_SIZE = 64
|
|
|
464
487
|
|
|
465
488
|
|
|
466
489
|
class BundleV2(object):
|
|
467
|
-
def __init__(self, base_filename, offset=None):
|
|
490
|
+
def __init__(self, base_filename, offset=None, file_permissions=None, directory_permissions=None):
|
|
468
491
|
# offset not used by V2
|
|
469
492
|
self.filename = base_filename + '.bundle'
|
|
470
493
|
self.lock_filename = base_filename + '.lck'
|
|
494
|
+
self.file_permissions = file_permissions
|
|
495
|
+
self.directory_permissions = directory_permissions
|
|
471
496
|
|
|
472
497
|
# defer initialization to update/remove calls to avoid
|
|
473
498
|
# index creation on is_cached (prevents new files in read-only caches)
|
|
@@ -477,12 +502,16 @@ class BundleV2(object):
|
|
|
477
502
|
self._initialized = True
|
|
478
503
|
if os.path.exists(self.filename):
|
|
479
504
|
return
|
|
480
|
-
ensure_directory(self.filename)
|
|
505
|
+
ensure_directory(self.filename, self.directory_permissions)
|
|
481
506
|
buf = BytesIO()
|
|
482
507
|
buf.write(struct.pack(BUNDLE_V2_HEADER_STRUCT_FORMAT, *BUNDLE_V2_HEADER))
|
|
483
508
|
# Empty index (ArcGIS stores an offset of 4 and size of 0 for missing tiles)
|
|
484
509
|
buf.write(struct.pack('<%dQ' % BUNDLE_V2_TILES, *(4, ) * BUNDLE_V2_TILES))
|
|
485
510
|
write_atomic(self.filename, buf.getvalue())
|
|
511
|
+
if self.file_permissions:
|
|
512
|
+
permission = int(self.file_permissions, base=8)
|
|
513
|
+
log.info("setting file permissions on compact cache file: " + self.file_permissions)
|
|
514
|
+
os.chmod(self.filename, permission)
|
|
486
515
|
|
|
487
516
|
def _tile_idx_offset(self, x, y):
|
|
488
517
|
return BUNDLE_V2_HEADER_SIZE + (x + BUNDLE_V2_GRID_HEIGHT * y) * 8
|
|
@@ -605,7 +634,7 @@ class BundleV2(object):
|
|
|
605
634
|
data = buf.read()
|
|
606
635
|
tiles_data.append((t.coord, data))
|
|
607
636
|
|
|
608
|
-
with FileLock(self.lock_filename):
|
|
637
|
+
with FileLock(self.lock_filename, directory_permissions=self.directory_permissions, remove_on_unlock=True):
|
|
609
638
|
with self._readwrite() as fh:
|
|
610
639
|
for tile_coord, data in tiles_data:
|
|
611
640
|
self._store_tile(fh, tile_coord, data, dimensions=dimensions)
|
|
@@ -617,7 +646,7 @@ class BundleV2(object):
|
|
|
617
646
|
return True
|
|
618
647
|
|
|
619
648
|
self._init_index()
|
|
620
|
-
with FileLock(self.lock_filename):
|
|
649
|
+
with FileLock(self.lock_filename, directory_permissions=self.directory_permissions, remove_on_unlock=True):
|
|
621
650
|
with self._readwrite() as fh:
|
|
622
651
|
x, y = self._rel_tile_coord(tile.coord)
|
|
623
652
|
self._update_tile_offset(fh, x, y, 0, 0)
|
|
@@ -33,7 +33,8 @@ class FileCache(TileCacheBase):
|
|
|
33
33
|
supports_dimensions = True
|
|
34
34
|
|
|
35
35
|
def __init__(self, cache_dir, file_ext, directory_layout='tc',
|
|
36
|
-
link_single_color_images=False, coverage=None, image_opts=None
|
|
36
|
+
link_single_color_images=False, coverage=None, image_opts=None,
|
|
37
|
+
directory_permissions=None, file_permissions=None):
|
|
37
38
|
"""
|
|
38
39
|
:param cache_dir: the path where the tile will be stored
|
|
39
40
|
:param file_ext: the file extension that will be appended to
|
|
@@ -46,6 +47,8 @@ class FileCache(TileCacheBase):
|
|
|
46
47
|
self.file_ext = file_ext
|
|
47
48
|
self.image_opts = image_opts
|
|
48
49
|
self.link_single_color_images = link_single_color_images
|
|
50
|
+
self.directory_permissions = directory_permissions
|
|
51
|
+
self.file_permissions = file_permissions
|
|
49
52
|
self._tile_location, self._level_location = path.location_funcs(layout=directory_layout)
|
|
50
53
|
if self._level_location is None:
|
|
51
54
|
self.level_location = None # disable level based clean-ups
|
|
@@ -57,7 +60,8 @@ class FileCache(TileCacheBase):
|
|
|
57
60
|
dimensions_str = ['{key}-{value}'.format(key=i, value=dimensions[i].replace('/', '_')) for i in items]
|
|
58
61
|
# todo: cache_dir is not used. should it get returned or removed?
|
|
59
62
|
cache_dir = os.path.join(self.cache_dir, '_'.join(dimensions_str)) # noqa
|
|
60
|
-
return self._tile_location(tile, self.cache_dir, self.file_ext, create_dir=create_dir, dimensions=dimensions
|
|
63
|
+
return self._tile_location(tile, self.cache_dir, self.file_ext, create_dir=create_dir, dimensions=dimensions,
|
|
64
|
+
directory_permissions=self.directory_permissions)
|
|
61
65
|
|
|
62
66
|
def level_location(self, level, dimensions=None):
|
|
63
67
|
"""
|
|
@@ -82,7 +86,7 @@ class FileCache(TileCacheBase):
|
|
|
82
86
|
)
|
|
83
87
|
location = os.path.join(*parts)
|
|
84
88
|
if create_dir:
|
|
85
|
-
ensure_directory(location)
|
|
89
|
+
ensure_directory(location, self.directory_permissions)
|
|
86
90
|
return location
|
|
87
91
|
|
|
88
92
|
def load_tile_metadata(self, tile, dimensions=None):
|