MapProxy 3.0.1__tar.gz → 3.1.1__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.1}/CHANGES.txt +29 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/MapProxy.egg-info/PKG-INFO +33 -22
- {MapProxy-3.0.1 → MapProxy-3.1.1}/MapProxy.egg-info/SOURCES.txt +2 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/MapProxy.egg-info/requires.txt +1 -1
- {MapProxy-3.0.1 → MapProxy-3.1.1}/PKG-INFO +33 -22
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/caches.rst +21 -1
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/configuration.rst +5 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/coverages.rst +1 -1
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/cache/base.py +5 -2
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/cache/compact.py +50 -17
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/cache/file.py +7 -3
- MapProxy-3.1.1/mapproxy/cache/geopackage.py +672 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/cache/legend.py +8 -2
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/cache/mbtiles.py +49 -40
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/cache/path.py +18 -12
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/config/loader.py +162 -15
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/config/spec.py +12 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/seed/config.py +2 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/demo/tms_demo.html +1 -1
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/helper.py +31 -1
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_cache.py +51 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_cache_compact.py +32 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_cache_geopackage.py +25 -1
- MapProxy-3.1.1/mapproxy/test/unit/test_cache_mbtile.py +153 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_cache_tile.py +26 -112
- MapProxy-3.1.1/mapproxy/test/unit/test_fs.py +30 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_utils.py +30 -2
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/ext/lockfile.py +8 -2
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/fs.py +14 -3
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/lock.py +12 -14
- {MapProxy-3.0.1 → MapProxy-3.1.1}/requirements-tests.txt +5 -5
- {MapProxy-3.0.1 → MapProxy-3.1.1}/setup.py +5 -2
- MapProxy-3.0.1/mapproxy/cache/geopackage.py +0 -647
- {MapProxy-3.0.1 → MapProxy-3.1.1}/AUTHORS.txt +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/COPYING.txt +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/LICENSE.txt +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/MANIFEST.in +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/MapProxy.egg-info/dependency_links.txt +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/MapProxy.egg-info/entry_points.txt +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/MapProxy.egg-info/not-zip-safe +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/MapProxy.egg-info/top_level.txt +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/README.md +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/GM.txt +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/_static/logo.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/_static/logo_title.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/_static/mapproxy.css +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/_templates/versions.html +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/auth.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/caching_layer_dimensions.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/conf.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/configuration_examples.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/decorate_img.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/deployment.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/development.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/imgs/bicubic.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/imgs/bilinear.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/imgs/labeling-dynamic.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/imgs/labeling-meta-buffer.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/imgs/labeling-metatiling-buffer.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/imgs/labeling-metatiling.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/imgs/labeling-no-clip.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/imgs/labeling-no-placement.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/imgs/labeling-partial-false.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/imgs/labeling-repeated.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/imgs/mapnik-webmerc-hq.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/imgs/mapnik-webmerc.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/imgs/mapproxy-demo.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/imgs/nearest.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/index.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/inspire.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/install.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/install_docker.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/install_osgeo4w.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/install_windows.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/labeling.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/mapproxy_util.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/mapproxy_util_autoconfig.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/plugins.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/seed.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/services.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/sources.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/tutorial.rst +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/tutorial.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/yaml/cache_conf.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/yaml/grid_conf.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/yaml/merged_conf.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/yaml/meta_conf.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/yaml/seed.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/doc/yaml/simple_conf.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/cache/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/cache/azureblob.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/cache/couchdb.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/cache/dummy.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/cache/meta.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/cache/redis.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/cache/renderd.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/cache/riak.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/cache/s3.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/cache/tile.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/client/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/client/arcgis.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/client/cgi.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/client/http.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/client/log.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/client/tile.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/client/wms.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/compat/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/compat/image.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/config/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/config/config-schema.json +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/config/config.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/config/coverage.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/config/defaults.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/config/validator.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/config_template/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/config_template/base_config/config.wsgi +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/config_template/base_config/full_example.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/config_template/base_config/full_seed_example.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/config_template/base_config/log.ini +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/config_template/base_config/mapproxy.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/config_template/base_config/seed.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/exception.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/featureinfo.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/grid.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/image/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/image/fonts/DejaVuSans.ttf +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/image/fonts/DejaVuSansMono.ttf +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/image/fonts/LICENSE +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/image/fonts/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/image/mask.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/image/merge.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/image/message.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/image/opts.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/image/tile.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/image/transform.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/layer.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/multiapp.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/proj.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/request/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/request/arcgis.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/request/base.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/request/tile.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/request/wms/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/request/wms/exception.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/request/wmts.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/response.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/script/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/script/conf/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/script/conf/app.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/script/conf/caches.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/script/conf/geopackage.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/script/conf/layers.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/script/conf/seeds.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/script/conf/sources.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/script/conf/utils.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/script/defrag.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/script/export.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/script/grids.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/script/scales.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/script/util.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/script/wms_capabilities.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/seed/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/seed/cachelock.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/seed/cleanup.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/seed/script.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/seed/seeder.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/seed/spec.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/seed/util.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/base.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/demo.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/kml.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/ows.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/template_helper.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/demo/capabilities_demo.html +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/demo/demo.html +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/demo/openlayers-demo.cfg +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/img/blank.gif +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/img/east-mini.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/img/north-mini.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/img/south-mini.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/img/west-mini.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/img/zoom-minus-mini.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/img/zoom-plus-mini.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/img/zoom-world-mini.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/logo.png +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/ol.css +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/ol.js +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/proj4.min.js +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/proj4defs.js +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/site.css +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/theme/default/framedCloud.css +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/theme/default/google.css +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/theme/default/ie6-style.css +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/theme/default/style.css +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static.html +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/demo/wms_demo.html +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/demo/wmts_demo.html +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/ows_exception.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/tms_capabilities.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/tms_exception.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/tms_root_resource.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/tms_tilemap_capabilities.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/wms100capabilities.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/wms100exception.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/wms110capabilities.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/wms110exception.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/wms111capabilities.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/wms111exception.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/wms130capabilities.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/wms130exception.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/wmts100capabilities.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/templates/wmts100exception.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/tile.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/wms.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/service/wmts.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/source/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/source/arcgis.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/source/error.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/source/mapnik.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/source/tile.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/source/wms.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/srs.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/template.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/conftest.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/http.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/image.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/mocker.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/common.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_bul.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_cze.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_dan.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_dut.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_eng.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_est.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_fin.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_fre.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_ger.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_gle.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_gre.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_hun.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_ita.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_lav.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_lit.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_mlt.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_pol.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_por.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_rum.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_slo.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_slv.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_spa.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_swe.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/network.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/inspire_vs/1.0/inspire_vs.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/kml/2.2.0/ReadMe.txt +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/kml/2.2.0/atom-author-link.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/kml/2.2.0/ogckml22.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/kml/2.2.0/xAL.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/ows/1.1.0/ReadMe.txt +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/ows/1.1.0/ows19115subset.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/ows/1.1.0/owsAll.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/ows/1.1.0/owsCommon.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/ows/1.1.0/owsContents.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/ows/1.1.0/owsDataIdentification.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/ows/1.1.0/owsDomainType.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/ows/1.1.0/owsExceptionReport.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/ows/1.1.0/owsGetCapabilities.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/ows/1.1.0/owsGetResourceByID.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/ows/1.1.0/owsInputOutputData.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/ows/1.1.0/owsManifest.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/ows/1.1.0/owsOperationsMetadata.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/ows/1.1.0/owsServiceIdentification.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/ows/1.1.0/owsServiceProvider.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/sld/1.1.0/sld_capabilities.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.0.0/capabilities_1_0_0.dtd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.0.0/capabilities_1_0_0.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.0.7/capabilities_1_0_7.dtd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.0.7/capabilities_1_0_7.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.1.0/capabilities_1_1_0.dtd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.1.0/capabilities_1_1_0.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.1.0/exception_1_1_0.dtd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.1.0/exception_1_1_0.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.1.1/OGC-exception.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.1.1/WMS_DescribeLayerResponse.dtd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.1.1/WMS_MS_Capabilities.dtd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.1.1/WMS_exception_1_1_1.dtd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.1.1/capabilities_1_1_1.dtd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.1.1/capabilities_1_1_1.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.1.1/exception_1_1_1.dtd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.1.1/exception_1_1_1.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.3.0/ReadMe.txt +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.3.0/capabilities_1_3_0.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.3.0/capabilities_1_3_0.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.3.0/exceptions_1_3_0.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.3.0/exceptions_1_3_0.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wmsc/1.1.1/OGC-exception.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wmsc/1.1.1/WMS_DescribeLayerResponse.dtd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wmsc/1.1.1/WMS_MS_Capabilities.dtd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wmsc/1.1.1/WMS_exception_1_1_1.dtd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wmsc/1.1.1/capabilities_1_1_1.dtd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wmsc/1.1.1/capabilities_1_1_1.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wmsc/1.1.1/exception_1_1_1.dtd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wmsc/1.1.1/exception_1_1_1.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wmts/1.0/ReadMe.txt +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wmts/1.0/wmts.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wmts/1.0/wmtsAbstract.wsdl +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wmts/1.0/wmtsGetCapabilities_request.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wmts/1.0/wmtsGetCapabilities_response.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wmts/1.0/wmtsGetFeatureInfo_request.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wmts/1.0/wmtsGetFeatureInfo_response.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wmts/1.0/wmtsGetTile_request.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wmts/1.0/wmtsKVP.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/wmts/1.0/wmtsPayload_response.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/xlink/1.0.0/ReadMe.txt +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/xlink/1.0.0/xlinks.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/schemas/xml.xsd +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/arcgis.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/auth.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/cache.mbtiles +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/cache_azureblob.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/cache_band_merge.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/cache_bulk_meta_tiles.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/cache_coverage.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/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.1}/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.1}/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.1}/mapproxy/test/system/fixture/cache_geopackage.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/cache_grid_names.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/cache_mbtiles.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/cache_s3.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/cache_source.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/combined_sources.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/coverage.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/demo.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/dimension.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/disable_storage.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/empty_ogrdata.geojson +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/formats.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/inspire.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/inspire_full.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/kml_layer.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/layer.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/layergroups.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/layergroups_root.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/legendgraphic.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/mapnik_source.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/mapproxy_export.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/mapserver.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/minimal_cgi.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/mixed_mode.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/multi_cache_layers.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/multiapp1.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/multiapp2.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/renderd_client.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/scalehints.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/seed.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/seed_mapproxy.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/seed_old.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/seed_timeouts.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/seed_timeouts_mapproxy.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/seedonly.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/sld.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/source_errors.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/source_errors_raise.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/tileservice_origin.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/tileservice_refresh.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/tilesource_minmax_res.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/util-conf-base-grids.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/util-conf-overwrite.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/util-conf-wms-111-cap.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/util_grids.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/util_wms_capabilities111.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/util_wms_capabilities130.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/util_wms_capabilities_service_exception.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/watermark.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/wms_srs_extent.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/wms_versions.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/wmts.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/wmts_dimensions.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/xslt_featureinfo.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/fixture/xslt_featureinfo_input.yaml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_arcgis.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_auth.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_behind_proxy.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_bulk_meta_tiles.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_cache_azureblob.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_cache_band_merge.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_cache_coverage.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_cache_geopackage.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_cache_grid_names.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_cache_mbtiles.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_cache_s3.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_cache_source.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_combined_sources.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_coverage.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_decorate_img.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_demo.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_demo_with_extra_service.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_dimensions.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_disable_storage.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_formats.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_inspire_vs.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_kml.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_layergroups.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_legendgraphic.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_mapnik.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_mapserver.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_mixed_mode_format.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_multi_cache_layers.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_multiapp.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_refresh.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_renderd_client.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_response_headers.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_scalehints.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_seed.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_seed_only.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_sld.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_source_errors.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_tilesource_minmax_res.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_tms.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_tms_origin.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_util_conf.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_util_export.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_util_grids.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_util_wms_capabilities.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_watermark.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_wms.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_wms_srs_extent.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_wms_version.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_wmsc.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_wmts.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_wmts_dimensions.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_wmts_restful.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/system/test_xslt_featureinfo.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/test_http_helper.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/epsg +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/polygons/polygons.dbf +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/polygons/polygons.shp +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/polygons/polygons.shx +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_async.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_auth.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_cache_azureblob.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_cache_couchdb.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_cache_redis.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_cache_riak.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_cache_s3.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_client.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_client_arcgis.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_client_cgi.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_collections.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_concat_legends.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_conf_loader.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_conf_validator.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_config.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_decorate_img.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_exceptions.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_featureinfo.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_file_lock_load.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_geom.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_grid.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_image.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_image_mask.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_image_messages.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_image_options.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_isodate.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_multiapp.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_ogr_reader.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_request.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_request_wmts.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_response.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_seed.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_seed_cachelock.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_srs.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_tiled_source.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_tilefilter.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_times.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_timeutils.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_util_conf_utils.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_wms_capabilities.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_wms_layer.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/test/unit/test_yaml.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/tilefilter.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/async_.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/collections.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/coverage.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/ext/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/ext/dictspec/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/ext/dictspec/spec.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/ext/dictspec/test/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/ext/dictspec/test/test_validator.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/ext/dictspec/validator.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/ext/local.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/ext/odict.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/ext/serving.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/ext/tempita/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/ext/tempita/_looper.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/ext/tempita/string_utils.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/ext/wmsparse/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/ext/wmsparse/duration.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/ext/wmsparse/parse.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/ext/wmsparse/test/__init__.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/ext/wmsparse/test/test_parse.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/ext/wmsparse/test/test_util.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/ext/wmsparse/test/wms-example-111.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/ext/wmsparse/test/wms-example-130.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/ext/wmsparse/test/wms-large-111.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/ext/wmsparse/test/wms_nasa_cap.xml +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/ext/wmsparse/util.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/geom.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/lib.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/ogr.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/py.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/times.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/util/yaml.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/version.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/mapproxy/wsgiapp.py +0 -0
- {MapProxy-3.0.1 → MapProxy-3.1.1}/setup.cfg +0 -0
|
@@ -1,3 +1,32 @@
|
|
|
1
|
+
3.1.1 2024-11-15
|
|
2
|
+
~~~~~~~~~~~~~~~~
|
|
3
|
+
|
|
4
|
+
Maintenance:
|
|
5
|
+
|
|
6
|
+
- Werkzeug version is no longer pinned and can be chosen freely.
|
|
7
|
+
|
|
8
|
+
Fixes:
|
|
9
|
+
|
|
10
|
+
- The permission handling for file locks now also sets permissions on the files not just on the directories.
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
3.1.0 2024-10-22
|
|
14
|
+
~~~~~~~~~~~~~~~~
|
|
15
|
+
|
|
16
|
+
Improvements:
|
|
17
|
+
|
|
18
|
+
- Add new config parameters `file_permissions` and `directory_permissions` to set file and directory
|
|
19
|
+
permissions on newly created cache files and directories.
|
|
20
|
+
|
|
21
|
+
Maintenance:
|
|
22
|
+
|
|
23
|
+
- Dependency updates
|
|
24
|
+
|
|
25
|
+
Fixes:
|
|
26
|
+
|
|
27
|
+
- Fix transparency in TMS demo page.
|
|
28
|
+
|
|
29
|
+
|
|
1
30
|
3.0.1 2024-08-27
|
|
2
31
|
~~~~~~~~~~~~~~~~
|
|
3
32
|
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: MapProxy
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.1.1
|
|
4
4
|
Summary: An accelerating proxy for tile and web map services
|
|
5
5
|
Home-page: https://mapproxy.org
|
|
6
6
|
Author: Oliver Tonnhofer
|
|
7
7
|
Author-email: olt@omniscale.de
|
|
8
|
+
Maintainer: terrestris GmbH & Co. KG
|
|
9
|
+
Maintainer-email: info@terrestris.de
|
|
8
10
|
License: Apache Software License 2.0
|
|
9
11
|
Platform: UNKNOWN
|
|
10
12
|
Classifier: Development Status :: 5 - Production/Stable
|
|
@@ -18,6 +20,7 @@ Classifier: Programming Language :: Python :: 3.12
|
|
|
18
20
|
Classifier: Topic :: Internet :: Proxy Servers
|
|
19
21
|
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
|
|
20
22
|
Classifier: Topic :: Scientific/Engineering :: GIS
|
|
23
|
+
Description-Content-Type: text/x-rst
|
|
21
24
|
License-File: LICENSE.txt
|
|
22
25
|
License-File: COPYING.txt
|
|
23
26
|
License-File: AUTHORS.txt
|
|
@@ -34,6 +37,35 @@ The documentation is available at: http://mapproxy.github.io/mapproxy/latest/
|
|
|
34
37
|
|
|
35
38
|
Changes
|
|
36
39
|
-------
|
|
40
|
+
3.1.1 2024-11-15
|
|
41
|
+
~~~~~~~~~~~~~~~~
|
|
42
|
+
|
|
43
|
+
Maintenance:
|
|
44
|
+
|
|
45
|
+
- Werkzeug version is no longer pinned and can be chosen freely.
|
|
46
|
+
|
|
47
|
+
Fixes:
|
|
48
|
+
|
|
49
|
+
- The permission handling for file locks now also sets permissions on the files not just on the directories.
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
3.1.0 2024-10-22
|
|
53
|
+
~~~~~~~~~~~~~~~~
|
|
54
|
+
|
|
55
|
+
Improvements:
|
|
56
|
+
|
|
57
|
+
- Add new config parameters `file_permissions` and `directory_permissions` to set file and directory
|
|
58
|
+
permissions on newly created cache files and directories.
|
|
59
|
+
|
|
60
|
+
Maintenance:
|
|
61
|
+
|
|
62
|
+
- Dependency updates
|
|
63
|
+
|
|
64
|
+
Fixes:
|
|
65
|
+
|
|
66
|
+
- Fix transparency in TMS demo page.
|
|
67
|
+
|
|
68
|
+
|
|
37
69
|
3.0.1 2024-08-27
|
|
38
70
|
~~~~~~~~~~~~~~~~
|
|
39
71
|
|
|
@@ -125,27 +157,6 @@ Fixes:
|
|
|
125
157
|
- Fix GeoTIFF Headers
|
|
126
158
|
|
|
127
159
|
|
|
128
|
-
2.0.2 2024-01-10
|
|
129
|
-
~~~~~~~~~~~~~~~~
|
|
130
|
-
|
|
131
|
-
Fixes:
|
|
132
|
-
|
|
133
|
-
- Revert PR "Fix mixed image format for file, S3 and azureblob caches"
|
|
134
|
-
|
|
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
160
|
|
|
150
161
|
Older changes
|
|
151
162
|
-------------
|
|
@@ -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,10 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: MapProxy
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.1.1
|
|
4
4
|
Summary: An accelerating proxy for tile and web map services
|
|
5
5
|
Home-page: https://mapproxy.org
|
|
6
6
|
Author: Oliver Tonnhofer
|
|
7
7
|
Author-email: olt@omniscale.de
|
|
8
|
+
Maintainer: terrestris GmbH & Co. KG
|
|
9
|
+
Maintainer-email: info@terrestris.de
|
|
8
10
|
License: Apache Software License 2.0
|
|
9
11
|
Platform: UNKNOWN
|
|
10
12
|
Classifier: Development Status :: 5 - Production/Stable
|
|
@@ -18,6 +20,7 @@ Classifier: Programming Language :: Python :: 3.12
|
|
|
18
20
|
Classifier: Topic :: Internet :: Proxy Servers
|
|
19
21
|
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
|
|
20
22
|
Classifier: Topic :: Scientific/Engineering :: GIS
|
|
23
|
+
Description-Content-Type: text/x-rst
|
|
21
24
|
License-File: LICENSE.txt
|
|
22
25
|
License-File: COPYING.txt
|
|
23
26
|
License-File: AUTHORS.txt
|
|
@@ -34,6 +37,35 @@ The documentation is available at: http://mapproxy.github.io/mapproxy/latest/
|
|
|
34
37
|
|
|
35
38
|
Changes
|
|
36
39
|
-------
|
|
40
|
+
3.1.1 2024-11-15
|
|
41
|
+
~~~~~~~~~~~~~~~~
|
|
42
|
+
|
|
43
|
+
Maintenance:
|
|
44
|
+
|
|
45
|
+
- Werkzeug version is no longer pinned and can be chosen freely.
|
|
46
|
+
|
|
47
|
+
Fixes:
|
|
48
|
+
|
|
49
|
+
- The permission handling for file locks now also sets permissions on the files not just on the directories.
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
3.1.0 2024-10-22
|
|
53
|
+
~~~~~~~~~~~~~~~~
|
|
54
|
+
|
|
55
|
+
Improvements:
|
|
56
|
+
|
|
57
|
+
- Add new config parameters `file_permissions` and `directory_permissions` to set file and directory
|
|
58
|
+
permissions on newly created cache files and directories.
|
|
59
|
+
|
|
60
|
+
Maintenance:
|
|
61
|
+
|
|
62
|
+
- Dependency updates
|
|
63
|
+
|
|
64
|
+
Fixes:
|
|
65
|
+
|
|
66
|
+
- Fix transparency in TMS demo page.
|
|
67
|
+
|
|
68
|
+
|
|
37
69
|
3.0.1 2024-08-27
|
|
38
70
|
~~~~~~~~~~~~~~~~
|
|
39
71
|
|
|
@@ -125,27 +157,6 @@ Fixes:
|
|
|
125
157
|
- Fix GeoTIFF Headers
|
|
126
158
|
|
|
127
159
|
|
|
128
|
-
2.0.2 2024-01-10
|
|
129
|
-
~~~~~~~~~~~~~~~~
|
|
130
|
-
|
|
131
|
-
Fixes:
|
|
132
|
-
|
|
133
|
-
- Revert PR "Fix mixed image format for file, S3 and azureblob caches"
|
|
134
|
-
|
|
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
160
|
|
|
150
161
|
Older changes
|
|
151
162
|
-------------
|
|
@@ -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
|
"""""""
|
|
@@ -41,7 +41,7 @@ All coverages are configured by defining the source of the coverage and the SRS.
|
|
|
41
41
|
The configuration of the coverage depends on the type. The SRS can allways be configured with the ``srs`` option.
|
|
42
42
|
|
|
43
43
|
.. versionadded:: 1.5.0
|
|
44
|
-
MapProxy can autodetect the type of the coverage. You can now use ``
|
|
44
|
+
MapProxy can autodetect the type of the coverage. You can now use ``datasource`` instead of the ``bbox``, ``polygons`` or ``ogr_datasource`` option.
|
|
45
45
|
The old options are still supported.
|
|
46
46
|
|
|
47
47
|
Coverage Types
|
|
@@ -98,10 +98,12 @@ 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, file_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
|
|
106
|
+
self.file_permissions = file_permissions
|
|
105
107
|
|
|
106
108
|
def lock_filename(self, tile):
|
|
107
109
|
return os.path.join(self.lock_dir, self.lock_cache_id + '-' +
|
|
@@ -117,4 +119,5 @@ class TileLocker(object):
|
|
|
117
119
|
cleanup_lockdir(self.lock_dir, max_lock_time=self.lock_timeout + 10,
|
|
118
120
|
force=False)
|
|
119
121
|
return FileLock(lock_filename, timeout=self.lock_timeout,
|
|
120
|
-
remove_on_unlock=REMOVE_ON_UNLOCK
|
|
122
|
+
remove_on_unlock=REMOVE_ON_UNLOCK, directory_permissions=self.directory_permissions,
|
|
123
|
+
file_permissions=self.file_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,8 @@ 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,
|
|
196
|
+
file_permissions=self.file_permissions, remove_on_unlock=True):
|
|
189
197
|
with self.data().readwrite() as bundle:
|
|
190
198
|
with self.index().readwrite() as idx:
|
|
191
199
|
for tile_coord, data in tiles_data:
|
|
@@ -229,7 +237,8 @@ class BundleV1(object):
|
|
|
229
237
|
if tile.coord is None:
|
|
230
238
|
return True
|
|
231
239
|
|
|
232
|
-
with FileLock(self.lock_filename
|
|
240
|
+
with FileLock(self.lock_filename, directory_permissions=self.directory_permissions,
|
|
241
|
+
file_permissions=self.file_permissions, remove_on_unlock=True):
|
|
233
242
|
with self.index().readwrite() as idx:
|
|
234
243
|
x, y = self._rel_tile_coord(tile.coord)
|
|
235
244
|
idx.remove_tile_offset(x, y)
|
|
@@ -269,9 +278,11 @@ INT64LE = struct.Struct('<Q')
|
|
|
269
278
|
|
|
270
279
|
|
|
271
280
|
class BundleIndexV1(object):
|
|
272
|
-
def __init__(self, filename):
|
|
281
|
+
def __init__(self, filename, directory_permissions=None, file_permissions=None):
|
|
273
282
|
self.filename = filename
|
|
274
283
|
self._fh = None
|
|
284
|
+
self.directory_permissions = directory_permissions
|
|
285
|
+
self.file_permissions = file_permissions
|
|
275
286
|
# defer initialization to update/remove calls to avoid
|
|
276
287
|
# index creation on is_cached (prevents new files in read-only caches)
|
|
277
288
|
self._initialized = False
|
|
@@ -280,7 +291,7 @@ class BundleIndexV1(object):
|
|
|
280
291
|
self._initialized = True
|
|
281
292
|
if os.path.exists(self.filename):
|
|
282
293
|
return
|
|
283
|
-
ensure_directory(self.filename)
|
|
294
|
+
ensure_directory(self.filename, self.directory_permissions)
|
|
284
295
|
buf = BytesIO()
|
|
285
296
|
buf.write(BUNDLEX_V1_HEADER)
|
|
286
297
|
|
|
@@ -288,6 +299,10 @@ class BundleIndexV1(object):
|
|
|
288
299
|
buf.write(INT64LE.pack((i*4)+BUNDLE_V1_HEADER_SIZE)[:5])
|
|
289
300
|
buf.write(BUNDLEX_V1_FOOTER)
|
|
290
301
|
write_atomic(self.filename, buf.getvalue())
|
|
302
|
+
if self.file_permissions:
|
|
303
|
+
permission = int(self.file_permissions, base=8)
|
|
304
|
+
log.info("setting file permissions on compact cache file: " + self.file_permissions)
|
|
305
|
+
os.chmod(self.filename, permission)
|
|
291
306
|
|
|
292
307
|
def _tile_index_offset(self, x, y):
|
|
293
308
|
return BUNDLEX_V1_HEADER_SIZE + (x * BUNDLEX_V1_GRID_HEIGHT + y) * 5
|
|
@@ -333,6 +348,10 @@ class BundleIndexV1(object):
|
|
|
333
348
|
def readwrite(self):
|
|
334
349
|
self._init_index()
|
|
335
350
|
with open(self.filename, 'r+b') as fh:
|
|
351
|
+
if self.file_permissions:
|
|
352
|
+
permission = int(self.file_permissions, base=8)
|
|
353
|
+
log.info("setting file permissions on compact cache file: " + self.file_permissions)
|
|
354
|
+
os.chmod(self.filename, permission)
|
|
336
355
|
b = BundleIndexV1(self.filename)
|
|
337
356
|
b._fh = fh
|
|
338
357
|
yield b
|
|
@@ -361,15 +380,17 @@ BUNDLE_V1_HEADER_STRUCT_FORMAT = '<4I3Q5I'
|
|
|
361
380
|
|
|
362
381
|
|
|
363
382
|
class BundleDataV1(object):
|
|
364
|
-
def __init__(self, filename, tile_offsets):
|
|
383
|
+
def __init__(self, filename, tile_offsets, directory_permissions=None, file_permissions=None):
|
|
365
384
|
self.filename = filename
|
|
366
385
|
self.tile_offsets = tile_offsets
|
|
367
386
|
self._fh = None
|
|
387
|
+
self.directory_permissions = directory_permissions
|
|
388
|
+
self.file_permissions = file_permissions
|
|
368
389
|
if not os.path.exists(self.filename):
|
|
369
390
|
self._init_bundle()
|
|
370
391
|
|
|
371
392
|
def _init_bundle(self):
|
|
372
|
-
ensure_directory(self.filename)
|
|
393
|
+
ensure_directory(self.filename, self.directory_permissions)
|
|
373
394
|
header = list(BUNDLE_V1_HEADER)
|
|
374
395
|
header[10], header[8] = self.tile_offsets
|
|
375
396
|
header[11], header[9] = header[10]+127, header[8]+127
|
|
@@ -377,18 +398,22 @@ class BundleDataV1(object):
|
|
|
377
398
|
struct.pack(BUNDLE_V1_HEADER_STRUCT_FORMAT, *header) +
|
|
378
399
|
# zero-size entry for each tile
|
|
379
400
|
(b'\x00' * (BUNDLEX_V1_GRID_HEIGHT * BUNDLEX_V1_GRID_WIDTH * 4)))
|
|
401
|
+
if self.file_permissions:
|
|
402
|
+
permission = int(self.file_permissions, base=8)
|
|
403
|
+
log.info("setting file permissions on compact cache file: " + self.file_permissions)
|
|
404
|
+
os.chmod(self.filename, permission)
|
|
380
405
|
|
|
381
406
|
@contextlib.contextmanager
|
|
382
407
|
def readonly(self):
|
|
383
408
|
with open(self.filename, 'rb') as fh:
|
|
384
|
-
b = BundleDataV1(self.filename, self.tile_offsets)
|
|
409
|
+
b = BundleDataV1(self.filename, self.tile_offsets, self.directory_permissions, self.file_permissions)
|
|
385
410
|
b._fh = fh
|
|
386
411
|
yield b
|
|
387
412
|
|
|
388
413
|
@contextlib.contextmanager
|
|
389
414
|
def readwrite(self):
|
|
390
415
|
with open(self.filename, 'r+b') as fh:
|
|
391
|
-
b = BundleDataV1(self.filename, self.tile_offsets)
|
|
416
|
+
b = BundleDataV1(self.filename, self.tile_offsets, self.directory_permissions, self.file_permissions)
|
|
392
417
|
b._fh = fh
|
|
393
418
|
yield b
|
|
394
419
|
|
|
@@ -464,10 +489,12 @@ BUNDLE_V2_HEADER_SIZE = 64
|
|
|
464
489
|
|
|
465
490
|
|
|
466
491
|
class BundleV2(object):
|
|
467
|
-
def __init__(self, base_filename, offset=None):
|
|
492
|
+
def __init__(self, base_filename, offset=None, file_permissions=None, directory_permissions=None):
|
|
468
493
|
# offset not used by V2
|
|
469
494
|
self.filename = base_filename + '.bundle'
|
|
470
495
|
self.lock_filename = base_filename + '.lck'
|
|
496
|
+
self.file_permissions = file_permissions
|
|
497
|
+
self.directory_permissions = directory_permissions
|
|
471
498
|
|
|
472
499
|
# defer initialization to update/remove calls to avoid
|
|
473
500
|
# index creation on is_cached (prevents new files in read-only caches)
|
|
@@ -477,12 +504,16 @@ class BundleV2(object):
|
|
|
477
504
|
self._initialized = True
|
|
478
505
|
if os.path.exists(self.filename):
|
|
479
506
|
return
|
|
480
|
-
ensure_directory(self.filename)
|
|
507
|
+
ensure_directory(self.filename, self.directory_permissions)
|
|
481
508
|
buf = BytesIO()
|
|
482
509
|
buf.write(struct.pack(BUNDLE_V2_HEADER_STRUCT_FORMAT, *BUNDLE_V2_HEADER))
|
|
483
510
|
# Empty index (ArcGIS stores an offset of 4 and size of 0 for missing tiles)
|
|
484
511
|
buf.write(struct.pack('<%dQ' % BUNDLE_V2_TILES, *(4, ) * BUNDLE_V2_TILES))
|
|
485
512
|
write_atomic(self.filename, buf.getvalue())
|
|
513
|
+
if self.file_permissions:
|
|
514
|
+
permission = int(self.file_permissions, base=8)
|
|
515
|
+
log.info("setting file permissions on compact cache file: " + self.file_permissions)
|
|
516
|
+
os.chmod(self.filename, permission)
|
|
486
517
|
|
|
487
518
|
def _tile_idx_offset(self, x, y):
|
|
488
519
|
return BUNDLE_V2_HEADER_SIZE + (x + BUNDLE_V2_GRID_HEIGHT * y) * 8
|
|
@@ -605,7 +636,8 @@ class BundleV2(object):
|
|
|
605
636
|
data = buf.read()
|
|
606
637
|
tiles_data.append((t.coord, data))
|
|
607
638
|
|
|
608
|
-
with FileLock(self.lock_filename
|
|
639
|
+
with FileLock(self.lock_filename, directory_permissions=self.directory_permissions,
|
|
640
|
+
file_permissions=self.file_permissions, remove_on_unlock=True):
|
|
609
641
|
with self._readwrite() as fh:
|
|
610
642
|
for tile_coord, data in tiles_data:
|
|
611
643
|
self._store_tile(fh, tile_coord, data, dimensions=dimensions)
|
|
@@ -617,7 +649,8 @@ class BundleV2(object):
|
|
|
617
649
|
return True
|
|
618
650
|
|
|
619
651
|
self._init_index()
|
|
620
|
-
with FileLock(self.lock_filename
|
|
652
|
+
with FileLock(self.lock_filename, directory_permissions=self.directory_permissions,
|
|
653
|
+
file_permissions=self.file_permissions, remove_on_unlock=True):
|
|
621
654
|
with self._readwrite() as fh:
|
|
622
655
|
x, y = self._rel_tile_coord(tile.coord)
|
|
623
656
|
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):
|