MapProxy 6.1.0__tar.gz → 7.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (605) hide show
  1. {mapproxy-6.1.0 → mapproxy-7.0.0}/CHANGES.txt +33 -0
  2. {mapproxy-6.1.0 → mapproxy-7.0.0}/MapProxy.egg-info/PKG-INFO +36 -30
  3. {mapproxy-6.1.0 → mapproxy-7.0.0}/MapProxy.egg-info/requires.txt +1 -0
  4. {mapproxy-6.1.0 → mapproxy-7.0.0}/PKG-INFO +36 -30
  5. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/install_docker.rst +2 -0
  6. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/cache/path.py +8 -0
  7. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/config/configuration/proxy.py +9 -2
  8. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/image/__init__.py +13 -5
  9. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/seed/seeder.py +4 -3
  10. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/demo.py +3 -1
  11. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/ogcapi/api.py +5 -1
  12. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/ogcapi/server.py +5 -0
  13. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/ogcapi/_base.html +9 -9
  14. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/ogcapi/collections/collection.html +5 -5
  15. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/ogcapi/landing_page.html +11 -11
  16. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/ogcapi/openapi/redoc.html +2 -2
  17. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/ogcapi/openapi/swagger.html +5 -5
  18. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/ogcapi/tilesets/tileset.html +4 -4
  19. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/source/mapnik.py +5 -5
  20. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_cache.py +30 -0
  21. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_conf_loader.py +24 -0
  22. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_file_lock_load.py +2 -2
  23. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_image.py +116 -0
  24. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_seed_cachelock.py +3 -3
  25. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_utils.py +2 -2
  26. {mapproxy-6.1.0 → mapproxy-7.0.0}/requirements-tests.txt +17 -15
  27. {mapproxy-6.1.0 → mapproxy-7.0.0}/setup.py +4 -2
  28. {mapproxy-6.1.0 → mapproxy-7.0.0}/AUTHORS.txt +0 -0
  29. {mapproxy-6.1.0 → mapproxy-7.0.0}/COPYING.txt +0 -0
  30. {mapproxy-6.1.0 → mapproxy-7.0.0}/LICENSE.txt +0 -0
  31. {mapproxy-6.1.0 → mapproxy-7.0.0}/MANIFEST.in +0 -0
  32. {mapproxy-6.1.0 → mapproxy-7.0.0}/MapProxy.egg-info/SOURCES.txt +0 -0
  33. {mapproxy-6.1.0 → mapproxy-7.0.0}/MapProxy.egg-info/dependency_links.txt +0 -0
  34. {mapproxy-6.1.0 → mapproxy-7.0.0}/MapProxy.egg-info/entry_points.txt +0 -0
  35. {mapproxy-6.1.0 → mapproxy-7.0.0}/MapProxy.egg-info/not-zip-safe +0 -0
  36. {mapproxy-6.1.0 → mapproxy-7.0.0}/MapProxy.egg-info/top_level.txt +0 -0
  37. {mapproxy-6.1.0 → mapproxy-7.0.0}/README.md +0 -0
  38. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/GM.txt +0 -0
  39. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/_static/logo.png +0 -0
  40. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/_static/logo_title.png +0 -0
  41. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/_static/mapproxy.css +0 -0
  42. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/_templates/versions.html +0 -0
  43. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/architecture.rst +0 -0
  44. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/auth.rst +0 -0
  45. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/caches.rst +0 -0
  46. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/caching_layer_dimensions.rst +0 -0
  47. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/conf.py +0 -0
  48. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/configuration.rst +0 -0
  49. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/configuration_examples.rst +0 -0
  50. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/coverages.rst +0 -0
  51. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/decorate_img.rst +0 -0
  52. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/deployment.rst +0 -0
  53. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/development.rst +0 -0
  54. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/imgs/bicubic.png +0 -0
  55. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/imgs/bilinear.png +0 -0
  56. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/imgs/labeling-dynamic.png +0 -0
  57. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/imgs/labeling-meta-buffer.png +0 -0
  58. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/imgs/labeling-metatiling-buffer.png +0 -0
  59. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/imgs/labeling-metatiling.png +0 -0
  60. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/imgs/labeling-no-clip.png +0 -0
  61. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/imgs/labeling-no-placement.png +0 -0
  62. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/imgs/labeling-partial-false.png +0 -0
  63. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/imgs/labeling-repeated.png +0 -0
  64. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/imgs/mapnik-webmerc-hq.png +0 -0
  65. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/imgs/mapnik-webmerc.png +0 -0
  66. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/imgs/mapproxy-demo.png +0 -0
  67. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/imgs/nearest.png +0 -0
  68. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/index.rst +0 -0
  69. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/inspire.rst +0 -0
  70. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/install.rst +0 -0
  71. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/install_osgeo4w.rst +0 -0
  72. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/install_windows.rst +0 -0
  73. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/labeling.rst +0 -0
  74. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/mapproxy_util.rst +0 -0
  75. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/mapproxy_util_autoconfig.rst +0 -0
  76. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/ogc_api.rst +0 -0
  77. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/plugins.rst +0 -0
  78. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/seed.rst +0 -0
  79. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/services.rst +0 -0
  80. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/sources.rst +0 -0
  81. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/tutorial.rst +0 -0
  82. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/tutorial.yaml +0 -0
  83. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/yaml/cache_conf.yaml +0 -0
  84. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/yaml/grid_conf.yaml +0 -0
  85. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/yaml/merged_conf.yaml +0 -0
  86. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/yaml/meta_conf.yaml +0 -0
  87. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/yaml/seed.yaml +0 -0
  88. {mapproxy-6.1.0 → mapproxy-7.0.0}/doc/yaml/simple_conf.yaml +0 -0
  89. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/__init__.py +0 -0
  90. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/cache/__init__.py +0 -0
  91. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/cache/azureblob.py +0 -0
  92. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/cache/base.py +0 -0
  93. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/cache/compact.py +0 -0
  94. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/cache/couchdb.py +0 -0
  95. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/cache/dummy.py +0 -0
  96. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/cache/file.py +0 -0
  97. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/cache/geopackage.py +0 -0
  98. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/cache/legend.py +0 -0
  99. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/cache/mbtiles.py +0 -0
  100. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/cache/meta.py +0 -0
  101. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/cache/redis.py +0 -0
  102. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/cache/renderd.py +0 -0
  103. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/cache/s3.py +0 -0
  104. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/cache/tile.py +0 -0
  105. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/cache/tile_creator.py +0 -0
  106. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/cache/tile_manager.py +0 -0
  107. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/client/__init__.py +0 -0
  108. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/client/arcgis.py +0 -0
  109. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/client/cgi.py +0 -0
  110. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/client/http.py +0 -0
  111. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/client/log.py +0 -0
  112. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/client/tile.py +0 -0
  113. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/client/wms.py +0 -0
  114. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/config/__init__.py +0 -0
  115. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/config/config-schema.json +0 -0
  116. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/config/config.py +0 -0
  117. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/config/configuration/__init__.py +0 -0
  118. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/config/configuration/base.py +0 -0
  119. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/config/configuration/cache.py +0 -0
  120. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/config/configuration/global_conf.py +0 -0
  121. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/config/configuration/grid.py +0 -0
  122. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/config/configuration/image_options.py +0 -0
  123. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/config/configuration/layer.py +0 -0
  124. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/config/configuration/service.py +0 -0
  125. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/config/configuration/source.py +0 -0
  126. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/config/coverage.py +0 -0
  127. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/config/defaults.py +0 -0
  128. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/config/loader.py +0 -0
  129. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/config/spec.py +0 -0
  130. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/config/validator.py +0 -0
  131. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/config_template/__init__.py +0 -0
  132. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/config_template/base_config/config.wsgi +0 -0
  133. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/config_template/base_config/full_example.yaml +0 -0
  134. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/config_template/base_config/full_seed_example.yaml +0 -0
  135. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/config_template/base_config/log.ini +0 -0
  136. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/config_template/base_config/mapproxy.yaml +0 -0
  137. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/config_template/base_config/seed.yaml +0 -0
  138. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/exception.py +0 -0
  139. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/extent.py +0 -0
  140. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/featureinfo.py +0 -0
  141. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/grid/__init__.py +0 -0
  142. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/grid/meta_grid.py +0 -0
  143. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/grid/resolutions.py +0 -0
  144. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/grid/tile_grid.py +0 -0
  145. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/image/fonts/DejaVuSans.ttf +0 -0
  146. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/image/fonts/DejaVuSansMono.ttf +0 -0
  147. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/image/fonts/LICENSE +0 -0
  148. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/image/fonts/__init__.py +0 -0
  149. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/image/mask.py +0 -0
  150. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/image/merge.py +0 -0
  151. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/image/message.py +0 -0
  152. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/image/opts.py +0 -0
  153. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/image/tile.py +0 -0
  154. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/image/transform.py +0 -0
  155. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/layer/__init__.py +0 -0
  156. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/layer/cache_map_layer.py +0 -0
  157. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/layer/direct_map_layer.py +0 -0
  158. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/layer/limited_layer.py +0 -0
  159. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/layer/map_layer.py +0 -0
  160. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/layer/resolution_conditional.py +0 -0
  161. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/layer/srs_conditional.py +0 -0
  162. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/multiapp.py +0 -0
  163. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/proj.py +0 -0
  164. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/query.py +0 -0
  165. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/request/__init__.py +0 -0
  166. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/request/arcgis.py +0 -0
  167. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/request/base.py +0 -0
  168. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/request/no_case_multi_dict.py +0 -0
  169. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/request/request_params.py +0 -0
  170. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/request/tile.py +0 -0
  171. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/request/wms/__init__.py +0 -0
  172. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/request/wms/exception.py +0 -0
  173. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/request/wmts.py +0 -0
  174. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/response.py +0 -0
  175. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/script/__init__.py +0 -0
  176. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/script/conf/__init__.py +0 -0
  177. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/script/conf/app.py +0 -0
  178. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/script/conf/caches.py +0 -0
  179. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/script/conf/geopackage.py +0 -0
  180. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/script/conf/layers.py +0 -0
  181. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/script/conf/seeds.py +0 -0
  182. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/script/conf/sources.py +0 -0
  183. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/script/conf/utils.py +0 -0
  184. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/script/defrag.py +0 -0
  185. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/script/export.py +0 -0
  186. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/script/gridconf_from_ogcapitilematrixset.py +0 -0
  187. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/script/grids.py +0 -0
  188. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/script/scales.py +0 -0
  189. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/script/util.py +0 -0
  190. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/script/wms_capabilities.py +0 -0
  191. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/seed/__init__.py +0 -0
  192. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/seed/cachelock.py +0 -0
  193. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/seed/cleanup.py +0 -0
  194. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/seed/config.py +0 -0
  195. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/seed/script.py +0 -0
  196. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/seed/spec.py +0 -0
  197. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/seed/util.py +0 -0
  198. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/__init__.py +0 -0
  199. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/base.py +0 -0
  200. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/kml.py +0 -0
  201. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/ogcapi/__init__.py +0 -0
  202. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/ogcapi/collections.py +0 -0
  203. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/ogcapi/conformance.py +0 -0
  204. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/ogcapi/constants.py +0 -0
  205. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/ogcapi/landing_page.py +0 -0
  206. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/ogcapi/map.py +0 -0
  207. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/ogcapi/map_utils.py +0 -0
  208. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/ogcapi/tile.py +0 -0
  209. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/ogcapi/tilematrixsets.py +0 -0
  210. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/ogcapi/tilesets.py +0 -0
  211. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/ows.py +0 -0
  212. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/template_helper.py +0 -0
  213. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/demo/capabilities_demo.html +0 -0
  214. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/demo/demo.html +0 -0
  215. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/demo/openlayers-demo.cfg +0 -0
  216. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/demo/static/img/blank.gif +0 -0
  217. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/demo/static/img/east-mini.png +0 -0
  218. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/demo/static/img/north-mini.png +0 -0
  219. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/demo/static/img/south-mini.png +0 -0
  220. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/demo/static/img/west-mini.png +0 -0
  221. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/demo/static/img/zoom-minus-mini.png +0 -0
  222. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/demo/static/img/zoom-plus-mini.png +0 -0
  223. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/demo/static/img/zoom-world-mini.png +0 -0
  224. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/demo/static/logo.png +0 -0
  225. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/demo/static/ol.css +0 -0
  226. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/demo/static/ol.js +0 -0
  227. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/demo/static/proj4.min.js +0 -0
  228. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/demo/static/proj4defs.js +0 -0
  229. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/demo/static/site.css +0 -0
  230. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/demo/static/theme/default/framedCloud.css +0 -0
  231. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/demo/static/theme/default/google.css +0 -0
  232. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/demo/static/theme/default/ie6-style.css +0 -0
  233. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/demo/static/theme/default/style.css +0 -0
  234. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/demo/static.html +0 -0
  235. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/demo/tms_demo.html +0 -0
  236. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/demo/wms_demo.html +0 -0
  237. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/demo/wmts_demo.html +0 -0
  238. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/ogcapi/collections/index.html +0 -0
  239. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/ogcapi/conformance.html +0 -0
  240. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/ogcapi/exception.html +0 -0
  241. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/ogcapi/static/css/bootstrap.min.css +0 -0
  242. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/ogcapi/static/css/default.css +0 -0
  243. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/ogcapi/static/fonts_montserra_roboto.css +0 -0
  244. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/ogcapi/static/img/logo.png +0 -0
  245. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/ogcapi/static/img/pygeoapi-logo.png +0 -0
  246. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/ogcapi/static/ol.css +0 -0
  247. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/ogcapi/static/ol.js +0 -0
  248. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/ogcapi/static/proj4.min.js +0 -0
  249. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/ogcapi/static/proj4defs.js +0 -0
  250. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/ogcapi/static/redoc.standalone.js +0 -0
  251. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/ogcapi/static/swagger-ui-dist/favicon-16x16.png +0 -0
  252. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/ogcapi/static/swagger-ui-dist/favicon-32x32.png +0 -0
  253. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/ogcapi/static/swagger-ui-dist/swagger-ui-bundle.js +0 -0
  254. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/ogcapi/static/swagger-ui-dist/swagger-ui-standalone-preset.js +0 -0
  255. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/ogcapi/static/swagger-ui-dist/swagger-ui.css +0 -0
  256. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/ogcapi/tilematrixsets/index.html +0 -0
  257. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/ogcapi/tilematrixsets/tilematrixset.html +0 -0
  258. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/ogcapi/tilesets/index.html +0 -0
  259. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/ows_exception.xml +0 -0
  260. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/tms_capabilities.xml +0 -0
  261. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/tms_exception.xml +0 -0
  262. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/tms_root_resource.xml +0 -0
  263. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/tms_tilemap_capabilities.xml +0 -0
  264. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/wms100capabilities.xml +0 -0
  265. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/wms100exception.xml +0 -0
  266. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/wms110capabilities.xml +0 -0
  267. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/wms110exception.xml +0 -0
  268. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/wms111capabilities.xml +0 -0
  269. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/wms111exception.xml +0 -0
  270. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/wms130capabilities.xml +0 -0
  271. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/wms130exception.xml +0 -0
  272. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/wmts100capabilities.xml +0 -0
  273. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/templates/wmts100exception.xml +0 -0
  274. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/tile.py +0 -0
  275. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/wms.py +0 -0
  276. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/service/wmts.py +0 -0
  277. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/source/__init__.py +0 -0
  278. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/source/arcgis.py +0 -0
  279. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/source/error.py +0 -0
  280. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/source/ogcapimaps.py +0 -0
  281. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/source/ogcapitiles.py +0 -0
  282. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/source/tile.py +0 -0
  283. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/source/wms.py +0 -0
  284. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/srs.py +0 -0
  285. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/template.py +0 -0
  286. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/__init__.py +0 -0
  287. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/conftest.py +0 -0
  288. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/helper.py +0 -0
  289. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/http.py +0 -0
  290. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/image.py +0 -0
  291. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/mocker.py +0 -0
  292. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/inspire/common/1.0/common.xsd +0 -0
  293. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_bul.xsd +0 -0
  294. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_cze.xsd +0 -0
  295. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_dan.xsd +0 -0
  296. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_dut.xsd +0 -0
  297. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_eng.xsd +0 -0
  298. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_est.xsd +0 -0
  299. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_fin.xsd +0 -0
  300. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_fre.xsd +0 -0
  301. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_ger.xsd +0 -0
  302. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_gle.xsd +0 -0
  303. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_gre.xsd +0 -0
  304. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_hun.xsd +0 -0
  305. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_ita.xsd +0 -0
  306. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_lav.xsd +0 -0
  307. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_lit.xsd +0 -0
  308. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_mlt.xsd +0 -0
  309. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_pol.xsd +0 -0
  310. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_por.xsd +0 -0
  311. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_rum.xsd +0 -0
  312. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_slo.xsd +0 -0
  313. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_slv.xsd +0 -0
  314. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_spa.xsd +0 -0
  315. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_swe.xsd +0 -0
  316. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/inspire/common/1.0/network.xsd +0 -0
  317. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/inspire/inspire_vs/1.0/inspire_vs.xsd +0 -0
  318. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/kml/2.2.0/ReadMe.txt +0 -0
  319. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/kml/2.2.0/atom-author-link.xsd +0 -0
  320. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/kml/2.2.0/ogckml22.xsd +0 -0
  321. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/kml/2.2.0/xAL.xsd +0 -0
  322. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/ows/1.1.0/ReadMe.txt +0 -0
  323. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/ows/1.1.0/ows19115subset.xsd +0 -0
  324. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/ows/1.1.0/owsAll.xsd +0 -0
  325. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/ows/1.1.0/owsCommon.xsd +0 -0
  326. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/ows/1.1.0/owsContents.xsd +0 -0
  327. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/ows/1.1.0/owsDataIdentification.xsd +0 -0
  328. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/ows/1.1.0/owsDomainType.xsd +0 -0
  329. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/ows/1.1.0/owsExceptionReport.xsd +0 -0
  330. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/ows/1.1.0/owsGetCapabilities.xsd +0 -0
  331. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/ows/1.1.0/owsGetResourceByID.xsd +0 -0
  332. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/ows/1.1.0/owsInputOutputData.xsd +0 -0
  333. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/ows/1.1.0/owsManifest.xsd +0 -0
  334. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/ows/1.1.0/owsOperationsMetadata.xsd +0 -0
  335. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/ows/1.1.0/owsServiceIdentification.xsd +0 -0
  336. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/ows/1.1.0/owsServiceProvider.xsd +0 -0
  337. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/sld/1.1.0/sld_capabilities.xsd +0 -0
  338. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wms/1.0.0/capabilities_1_0_0.dtd +0 -0
  339. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wms/1.0.0/capabilities_1_0_0.xml +0 -0
  340. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wms/1.0.7/capabilities_1_0_7.dtd +0 -0
  341. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wms/1.0.7/capabilities_1_0_7.xml +0 -0
  342. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wms/1.1.0/capabilities_1_1_0.dtd +0 -0
  343. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wms/1.1.0/capabilities_1_1_0.xml +0 -0
  344. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wms/1.1.0/exception_1_1_0.dtd +0 -0
  345. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wms/1.1.0/exception_1_1_0.xml +0 -0
  346. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wms/1.1.1/OGC-exception.xsd +0 -0
  347. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wms/1.1.1/WMS_DescribeLayerResponse.dtd +0 -0
  348. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wms/1.1.1/WMS_MS_Capabilities.dtd +0 -0
  349. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wms/1.1.1/WMS_exception_1_1_1.dtd +0 -0
  350. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wms/1.1.1/capabilities_1_1_1.dtd +0 -0
  351. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wms/1.1.1/capabilities_1_1_1.xml +0 -0
  352. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wms/1.1.1/exception_1_1_1.dtd +0 -0
  353. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wms/1.1.1/exception_1_1_1.xml +0 -0
  354. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wms/1.3.0/ReadMe.txt +0 -0
  355. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wms/1.3.0/capabilities_1_3_0.xml +0 -0
  356. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wms/1.3.0/capabilities_1_3_0.xsd +0 -0
  357. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wms/1.3.0/exceptions_1_3_0.xml +0 -0
  358. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wms/1.3.0/exceptions_1_3_0.xsd +0 -0
  359. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wmsc/1.1.1/OGC-exception.xsd +0 -0
  360. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wmsc/1.1.1/WMS_DescribeLayerResponse.dtd +0 -0
  361. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wmsc/1.1.1/WMS_MS_Capabilities.dtd +0 -0
  362. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wmsc/1.1.1/WMS_exception_1_1_1.dtd +0 -0
  363. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wmsc/1.1.1/capabilities_1_1_1.dtd +0 -0
  364. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wmsc/1.1.1/capabilities_1_1_1.xml +0 -0
  365. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wmsc/1.1.1/exception_1_1_1.dtd +0 -0
  366. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wmsc/1.1.1/exception_1_1_1.xml +0 -0
  367. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wmts/1.0/ReadMe.txt +0 -0
  368. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wmts/1.0/wmts.xsd +0 -0
  369. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wmts/1.0/wmtsAbstract.wsdl +0 -0
  370. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wmts/1.0/wmtsGetCapabilities_request.xsd +0 -0
  371. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wmts/1.0/wmtsGetCapabilities_response.xsd +0 -0
  372. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wmts/1.0/wmtsGetFeatureInfo_request.xsd +0 -0
  373. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wmts/1.0/wmtsGetFeatureInfo_response.xsd +0 -0
  374. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wmts/1.0/wmtsGetTile_request.xsd +0 -0
  375. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wmts/1.0/wmtsKVP.xsd +0 -0
  376. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/wmts/1.0/wmtsPayload_response.xsd +0 -0
  377. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/xlink/1.0.0/ReadMe.txt +0 -0
  378. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/xlink/1.0.0/xlinks.xsd +0 -0
  379. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/schemas/xml.xsd +0 -0
  380. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/__init__.py +0 -0
  381. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/arcgis.yaml +0 -0
  382. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/auth.yaml +0 -0
  383. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/cache.mbtiles +0 -0
  384. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/cache_azureblob.yaml +0 -0
  385. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/cache_band_merge.yaml +0 -0
  386. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/cache_bulk_meta_tiles.yaml +0 -0
  387. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/cache_coverage.yaml +0 -0
  388. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/cache_data/dop_cache_EPSG3857/00/000/000/000/000/000/000.png +0 -0
  389. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/cache_data/wms_cache_EPSG900913/01/000/000/000/000/000/001.jpeg +0 -0
  390. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/cache_data/wms_cache_transparent_EPSG900913/01/000/000/000/000/000/001.png +0 -0
  391. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/cache_geopackage.yaml +0 -0
  392. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/cache_grid_names.yaml +0 -0
  393. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/cache_mbtiles.yaml +0 -0
  394. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/cache_s3.yaml +0 -0
  395. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/cache_source.yaml +0 -0
  396. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/combined_sources.yaml +0 -0
  397. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/coverage.yaml +0 -0
  398. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/demo.yaml +0 -0
  399. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/dimension.yaml +0 -0
  400. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/disable_storage.yaml +0 -0
  401. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/empty_ogrdata.geojson +0 -0
  402. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/formats.yaml +0 -0
  403. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/inspire.yaml +0 -0
  404. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/inspire_full.yaml +0 -0
  405. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/kml_layer.yaml +0 -0
  406. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/layer.yaml +0 -0
  407. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/layergroups.yaml +0 -0
  408. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/layergroups_root.yaml +0 -0
  409. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/legendgraphic.yaml +0 -0
  410. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/mapnik_source.yaml +0 -0
  411. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/mapproxy_export.yaml +0 -0
  412. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/mapserver.yaml +0 -0
  413. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/minimal_cgi.py +0 -0
  414. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/mixed_mode.yaml +0 -0
  415. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/multi_cache_layers.yaml +0 -0
  416. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/multiapp1.yaml +0 -0
  417. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/multiapp2.yaml +0 -0
  418. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/ogcapi_maps_and_tiles_non_earth_service.yaml +0 -0
  419. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/ogcapi_maps_and_tiles_service.yaml +0 -0
  420. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/ogcapimaps_non_earth_source.yaml +0 -0
  421. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/ogcapimaps_service.yaml +0 -0
  422. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/ogcapimaps_source.yaml +0 -0
  423. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/ogcapimaps_source_with_supported_srs.yaml +0 -0
  424. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/ogcapitiles_non_earth_source.yaml +0 -0
  425. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/ogcapitiles_service.yaml +0 -0
  426. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/ogcapitiles_source.yaml +0 -0
  427. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/renderd_client.yaml +0 -0
  428. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/scalehints.yaml +0 -0
  429. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/seed.yaml +0 -0
  430. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/seed_mapproxy.yaml +0 -0
  431. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/seed_timeouts.yaml +0 -0
  432. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/seed_timeouts_mapproxy.yaml +0 -0
  433. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/seedonly.yaml +0 -0
  434. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/sld.yaml +0 -0
  435. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/source_errors.yaml +0 -0
  436. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/source_errors_raise.yaml +0 -0
  437. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/tileservice_origin.yaml +0 -0
  438. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/tileservice_refresh.yaml +0 -0
  439. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/tilesource_minmax_res.yaml +0 -0
  440. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/util-conf-base-grids.yaml +0 -0
  441. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/util-conf-overwrite.yaml +0 -0
  442. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/util-conf-wms-111-cap.xml +0 -0
  443. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/util_grids.yaml +0 -0
  444. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/util_wms_capabilities111.xml +0 -0
  445. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/util_wms_capabilities130.xml +0 -0
  446. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/util_wms_capabilities_service_exception.xml +0 -0
  447. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/watermark.yaml +0 -0
  448. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/wms_srs_extent.yaml +0 -0
  449. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/wms_versions.yaml +0 -0
  450. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/wmts.yaml +0 -0
  451. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/wmts_dimensions.yaml +0 -0
  452. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/xslt_featureinfo.yaml +0 -0
  453. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/fixture/xslt_featureinfo_input.yaml +0 -0
  454. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_arcgis.py +0 -0
  455. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_auth.py +0 -0
  456. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_behind_proxy.py +0 -0
  457. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_bulk_meta_tiles.py +0 -0
  458. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_cache_azureblob.py +0 -0
  459. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_cache_band_merge.py +0 -0
  460. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_cache_coverage.py +0 -0
  461. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_cache_geopackage.py +0 -0
  462. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_cache_grid_names.py +0 -0
  463. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_cache_mbtiles.py +0 -0
  464. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_cache_s3.py +0 -0
  465. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_cache_source.py +0 -0
  466. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_combined_sources.py +0 -0
  467. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_coverage.py +0 -0
  468. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_decorate_img.py +0 -0
  469. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_demo.py +0 -0
  470. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_demo_with_extra_service.py +0 -0
  471. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_dimensions.py +0 -0
  472. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_disable_storage.py +0 -0
  473. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_formats.py +0 -0
  474. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_inspire_vs.py +0 -0
  475. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_kml.py +0 -0
  476. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_layergroups.py +0 -0
  477. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_legendgraphic.py +0 -0
  478. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_mapnik.py +0 -0
  479. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_mapserver.py +0 -0
  480. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_mixed_mode_format.py +0 -0
  481. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_multi_cache_layers.py +0 -0
  482. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_multiapp.py +0 -0
  483. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_refresh.py +0 -0
  484. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_renderd_client.py +0 -0
  485. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_response_headers.py +0 -0
  486. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_scalehints.py +0 -0
  487. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_seed.py +0 -0
  488. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_seed_only.py +0 -0
  489. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_service_ogcapi.py +0 -0
  490. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_sld.py +0 -0
  491. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_source_errors.py +0 -0
  492. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_source_ogcapimaps.py +0 -0
  493. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_source_ogcapitiles.py +0 -0
  494. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_tilesource_minmax_res.py +0 -0
  495. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_tms.py +0 -0
  496. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_tms_origin.py +0 -0
  497. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_util_conf.py +0 -0
  498. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_util_export.py +0 -0
  499. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_util_gridconf_from_ogcapitilematrixset.py +0 -0
  500. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_util_grids.py +0 -0
  501. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_util_wms_capabilities.py +0 -0
  502. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_watermark.py +0 -0
  503. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_wms.py +0 -0
  504. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_wms_srs_extent.py +0 -0
  505. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_wms_version.py +0 -0
  506. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_wmsc.py +0 -0
  507. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_wmts.py +0 -0
  508. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_wmts_dimensions.py +0 -0
  509. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_wmts_restful.py +0 -0
  510. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/system/test_xslt_featureinfo.py +0 -0
  511. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/test_http_helper.py +0 -0
  512. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/__init__.py +0 -0
  513. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/epsg +0 -0
  514. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/polygons/polygons.dbf +0 -0
  515. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/polygons/polygons.shp +0 -0
  516. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/polygons/polygons.shx +0 -0
  517. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_async.py +0 -0
  518. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_auth.py +0 -0
  519. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_cache_azureblob.py +0 -0
  520. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_cache_compact.py +0 -0
  521. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_cache_couchdb.py +0 -0
  522. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_cache_geopackage.py +0 -0
  523. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_cache_mbtile.py +0 -0
  524. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_cache_redis.py +0 -0
  525. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_cache_s3.py +0 -0
  526. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_cache_tile.py +0 -0
  527. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_client.py +0 -0
  528. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_client_arcgis.py +0 -0
  529. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_client_cgi.py +0 -0
  530. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_collections.py +0 -0
  531. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_concat_legends.py +0 -0
  532. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_conf_validator.py +0 -0
  533. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_config.py +0 -0
  534. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_decorate_img.py +0 -0
  535. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_exceptions.py +0 -0
  536. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_featureinfo.py +0 -0
  537. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_fs.py +0 -0
  538. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_geom.py +0 -0
  539. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_grid.py +0 -0
  540. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_image_mask.py +0 -0
  541. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_image_messages.py +0 -0
  542. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_image_options.py +0 -0
  543. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_isodate.py +0 -0
  544. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_multiapp.py +0 -0
  545. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_ogr_reader.py +0 -0
  546. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_request.py +0 -0
  547. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_request_wmts.py +0 -0
  548. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_response.py +0 -0
  549. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_seed.py +0 -0
  550. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_srs.py +0 -0
  551. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_tiled_source.py +0 -0
  552. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_tilefilter.py +0 -0
  553. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_times.py +0 -0
  554. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_timeutils.py +0 -0
  555. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_util_conf_utils.py +0 -0
  556. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_util_ogcapi.py +0 -0
  557. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_wms_capabilities.py +0 -0
  558. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_wms_layer.py +0 -0
  559. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/test/unit/test_yaml.py +0 -0
  560. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/tilefilter.py +0 -0
  561. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/__init__.py +0 -0
  562. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/async_.py +0 -0
  563. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/bbox.py +0 -0
  564. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/coverage.py +0 -0
  565. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/escape.py +0 -0
  566. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/ext/__init__.py +0 -0
  567. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/ext/dictspec/__init__.py +0 -0
  568. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/ext/dictspec/spec.py +0 -0
  569. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/ext/dictspec/test/__init__.py +0 -0
  570. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/ext/dictspec/test/test_validator.py +0 -0
  571. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/ext/dictspec/validator.py +0 -0
  572. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/ext/local.py +0 -0
  573. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/ext/lockfile.py +0 -0
  574. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/ext/serving.py +0 -0
  575. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/ext/tempita/__init__.py +0 -0
  576. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/ext/tempita/_looper.py +0 -0
  577. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/ext/tempita/string_utils.py +0 -0
  578. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/ext/wmsparse/__init__.py +0 -0
  579. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/ext/wmsparse/duration.py +0 -0
  580. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/ext/wmsparse/parse.py +0 -0
  581. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/ext/wmsparse/test/__init__.py +0 -0
  582. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/ext/wmsparse/test/test_parse.py +0 -0
  583. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/ext/wmsparse/test/test_util.py +0 -0
  584. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/ext/wmsparse/test/wms-example-111.xml +0 -0
  585. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/ext/wmsparse/test/wms-example-130.xml +0 -0
  586. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/ext/wmsparse/test/wms-large-111.xml +0 -0
  587. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/ext/wmsparse/test/wms_nasa_cap.xml +0 -0
  588. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/ext/wmsparse/util.py +0 -0
  589. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/fs.py +0 -0
  590. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/geom.py +0 -0
  591. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/immutable_dict_list.py +0 -0
  592. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/jinja2_templates.py +0 -0
  593. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/lib.py +0 -0
  594. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/lock.py +0 -0
  595. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/lru.py +0 -0
  596. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/ogcapi.py +0 -0
  597. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/ogr.py +0 -0
  598. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/py.py +0 -0
  599. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/sqlite3.py +0 -0
  600. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/times.py +0 -0
  601. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/util/yaml.py +0 -0
  602. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/version.py +0 -0
  603. {mapproxy-6.1.0 → mapproxy-7.0.0}/mapproxy/wsgiapp.py +0 -0
  604. {mapproxy-6.1.0 → mapproxy-7.0.0}/pyproject.toml +0 -0
  605. {mapproxy-6.1.0 → mapproxy-7.0.0}/setup.cfg +0 -0
@@ -1,3 +1,36 @@
1
+ 7.0.0 2026-07-17
2
+ ~~~~~~~~~~~~~~~~
3
+
4
+ Breaking:
5
+
6
+ - Security Fix: Avoiding path traversals in dimensions parameter.
7
+ In rare cases, existing cache directories will not be reused and created newly with safe directory names
8
+
9
+ Maintenance:
10
+
11
+ - Raising python version in workflows and docker images to 3.14
12
+ - Update dependencies
13
+
14
+ Fixes:
15
+
16
+ - Error with transparent PNGs in mixed format
17
+
18
+
19
+ 6.1.1 2026-06-17
20
+ ~~~~~~~~~~~~~~~~
21
+
22
+ Maintenance:
23
+
24
+ - Update dependencies
25
+
26
+ Fixes:
27
+
28
+ - ImageResult.as_buffer will always return image mode rgba if requested
29
+ - Restore context manager protocol on ProxyConfiguration
30
+ - Fix base path for rendering OGC API HTML pages in multi mapproxy setups
31
+ - Fix determination of resolutions in WMTS demo
32
+
33
+
1
34
  6.1.0 2026-06-03
2
35
  ~~~~~~~~~~~~~~~~
3
36
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: MapProxy
3
- Version: 6.1.0
3
+ Version: 7.0.0
4
4
  Summary: An accelerating proxy for tile and web map services
5
5
  Home-page: https://mapproxy.org
6
6
  Author: Oliver Tonnhofer
@@ -16,6 +16,7 @@ Classifier: Programming Language :: Python :: 3.10
16
16
  Classifier: Programming Language :: Python :: 3.11
17
17
  Classifier: Programming Language :: Python :: 3.12
18
18
  Classifier: Programming Language :: Python :: 3.13
19
+ Classifier: Programming Language :: Python :: 3.14
19
20
  Classifier: Topic :: Internet :: Proxy Servers
20
21
  Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
21
22
  Classifier: Topic :: Scientific/Engineering :: GIS
@@ -38,6 +39,7 @@ Requires-Dist: jinja2
38
39
  Requires-Dist: Babel
39
40
  Requires-Dist: python-dateutil
40
41
  Requires-Dist: requests
42
+ Requires-Dist: multiprocess
41
43
  Dynamic: author
42
44
  Dynamic: author-email
43
45
  Dynamic: classifier
@@ -63,6 +65,39 @@ The documentation is available at: http://mapproxy.github.io/mapproxy/latest/
63
65
 
64
66
  Changes
65
67
  -------
68
+ 7.0.0 2026-07-17
69
+ ~~~~~~~~~~~~~~~~
70
+
71
+ Breaking:
72
+
73
+ - Security Fix: Avoiding path traversals in dimensions parameter.
74
+ In rare cases, existing cache directories will not be reused and created newly with safe directory names
75
+
76
+ Maintenance:
77
+
78
+ - Raising python version in workflows and docker images to 3.14
79
+ - Update dependencies
80
+
81
+ Fixes:
82
+
83
+ - Error with transparent PNGs in mixed format
84
+
85
+
86
+ 6.1.1 2026-06-17
87
+ ~~~~~~~~~~~~~~~~
88
+
89
+ Maintenance:
90
+
91
+ - Update dependencies
92
+
93
+ Fixes:
94
+
95
+ - ImageResult.as_buffer will always return image mode rgba if requested
96
+ - Restore context manager protocol on ProxyConfiguration
97
+ - Fix base path for rendering OGC API HTML pages in multi mapproxy setups
98
+ - Fix determination of resolutions in WMTS demo
99
+
100
+
66
101
  6.1.0 2026-06-03
67
102
  ~~~~~~~~~~~~~~~~
68
103
 
@@ -179,35 +214,6 @@ Fixes:
179
214
  - Fixes an error with merging resolutions of grids
180
215
 
181
216
 
182
- 5.0.0 2025-06-18
183
- ~~~~~~~~~~~~~~~~
184
-
185
- Breaking:
186
-
187
- - The dependencies lxml, shapely, pyproj, gdal and PyYAML are no longer optional
188
-
189
- Maintenance:
190
-
191
- - By default lxml, shapely, pyproj, Pillow and PyYAML are now installed via pip and are not recommended to be installed
192
- as apt packages anymore
193
-
194
- Fixes:
195
-
196
- - The alpine image uses the python3 plugin for uwsgi correctly
197
- - An lxml encoding error is fixed
198
-
199
-
200
- 4.1.2 2025-05-27
201
- ~~~~~~~~~~~~~~~~
202
-
203
- Maintenance:
204
-
205
- - Set Pillow versions in setup.py to actually supported versions
206
- - Using PIL instead of Pillow was not working since Python 2, so it is removed from setup.py
207
- - Using a higher pyproj version for Python 3.13 is necessary
208
- - Added a test for an older Pillow version with Python 3.9
209
-
210
-
211
217
 
212
218
  Older changes
213
219
  -------------
@@ -9,6 +9,7 @@ jinja2
9
9
  Babel
10
10
  python-dateutil
11
11
  requests
12
+ multiprocess
12
13
 
13
14
  [:python_version == "3.10"]
14
15
  Pillow>=9
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: MapProxy
3
- Version: 6.1.0
3
+ Version: 7.0.0
4
4
  Summary: An accelerating proxy for tile and web map services
5
5
  Home-page: https://mapproxy.org
6
6
  Author: Oliver Tonnhofer
@@ -16,6 +16,7 @@ Classifier: Programming Language :: Python :: 3.10
16
16
  Classifier: Programming Language :: Python :: 3.11
17
17
  Classifier: Programming Language :: Python :: 3.12
18
18
  Classifier: Programming Language :: Python :: 3.13
19
+ Classifier: Programming Language :: Python :: 3.14
19
20
  Classifier: Topic :: Internet :: Proxy Servers
20
21
  Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
21
22
  Classifier: Topic :: Scientific/Engineering :: GIS
@@ -38,6 +39,7 @@ Requires-Dist: jinja2
38
39
  Requires-Dist: Babel
39
40
  Requires-Dist: python-dateutil
40
41
  Requires-Dist: requests
42
+ Requires-Dist: multiprocess
41
43
  Dynamic: author
42
44
  Dynamic: author-email
43
45
  Dynamic: classifier
@@ -63,6 +65,39 @@ The documentation is available at: http://mapproxy.github.io/mapproxy/latest/
63
65
 
64
66
  Changes
65
67
  -------
68
+ 7.0.0 2026-07-17
69
+ ~~~~~~~~~~~~~~~~
70
+
71
+ Breaking:
72
+
73
+ - Security Fix: Avoiding path traversals in dimensions parameter.
74
+ In rare cases, existing cache directories will not be reused and created newly with safe directory names
75
+
76
+ Maintenance:
77
+
78
+ - Raising python version in workflows and docker images to 3.14
79
+ - Update dependencies
80
+
81
+ Fixes:
82
+
83
+ - Error with transparent PNGs in mixed format
84
+
85
+
86
+ 6.1.1 2026-06-17
87
+ ~~~~~~~~~~~~~~~~
88
+
89
+ Maintenance:
90
+
91
+ - Update dependencies
92
+
93
+ Fixes:
94
+
95
+ - ImageResult.as_buffer will always return image mode rgba if requested
96
+ - Restore context manager protocol on ProxyConfiguration
97
+ - Fix base path for rendering OGC API HTML pages in multi mapproxy setups
98
+ - Fix determination of resolutions in WMTS demo
99
+
100
+
66
101
  6.1.0 2026-06-03
67
102
  ~~~~~~~~~~~~~~~~
68
103
 
@@ -179,35 +214,6 @@ Fixes:
179
214
  - Fixes an error with merging resolutions of grids
180
215
 
181
216
 
182
- 5.0.0 2025-06-18
183
- ~~~~~~~~~~~~~~~~
184
-
185
- Breaking:
186
-
187
- - The dependencies lxml, shapely, pyproj, gdal and PyYAML are no longer optional
188
-
189
- Maintenance:
190
-
191
- - By default lxml, shapely, pyproj, Pillow and PyYAML are now installed via pip and are not recommended to be installed
192
- as apt packages anymore
193
-
194
- Fixes:
195
-
196
- - The alpine image uses the python3 plugin for uwsgi correctly
197
- - An lxml encoding error is fixed
198
-
199
-
200
- 4.1.2 2025-05-27
201
- ~~~~~~~~~~~~~~~~
202
-
203
- Maintenance:
204
-
205
- - Set Pillow versions in setup.py to actually supported versions
206
- - Using PIL instead of Pillow was not working since Python 2, so it is removed from setup.py
207
- - Using a higher pyproj version for Python 3.13 is necessary
208
- - Added a test for an older Pillow version with Python 3.9
209
-
210
-
211
217
 
212
218
  Older changes
213
219
  -------------
@@ -88,6 +88,8 @@ Environment Variables
88
88
  mode and will run all configurations in the ``/mapproxy/config/apps`` directory as different apps. Default is ``false``.
89
89
  - ``MULTIAPP_ALLOW_LISTINGS``: In multi app mode if set to ``true``, MapProxy lists all available apps on the root page.
90
90
  Default is ``false``.
91
+ - ``UWSGI_PROCESSES``: **nginx images only.** Number of uWSGI worker processes. Default is ``2``.
92
+ - ``UWSGI_THREADS``: **nginx images only.** Number of threads per uWSGI worker process. Default is ``10``.
91
93
 
92
94
 
93
95
  Build your own image
@@ -61,6 +61,14 @@ def dimensions_part(dimensions):
61
61
 
62
62
  """
63
63
  if dimensions:
64
+ def checkTraversal(v):
65
+ normalized = os.path.normpath(v)
66
+ parts = normalized.split('/') + normalized.split('\\')
67
+ isNormalized = v != normalized or any(part == ".." for part in parts)
68
+ if isNormalized:
69
+ raise ValueError('Dimension parameter value contains illegal characters')
70
+ for k, v in dimensions.items():
71
+ checkTraversal(v)
64
72
  dims = NoCaseMultiDict(dimensions)
65
73
  predefined_dims, custom_dims = [], []
66
74
  for dim in dims.keys():
@@ -186,11 +186,18 @@ class ProxyConfiguration(object):
186
186
  self.services = ServiceConfiguration(self.configuration.get('services', {}), context=self)
187
187
 
188
188
  def configured_services(self):
189
+ with self:
190
+ return self.services.services()
191
+
192
+ def __enter__(self):
193
+ # push local base_config onto config stack
189
194
  import mapproxy.config.config
190
195
  mapproxy.config.config._config.push(self.base_config)
191
- services = self.services.services()
196
+
197
+ def __exit__(self, type, value, traceback):
198
+ # pop local base_config from config stack
199
+ import mapproxy.config.config
192
200
  mapproxy.config.config._config.pop()
193
- return services
194
201
 
195
202
  @property
196
203
  def base_config(self):
@@ -242,7 +242,8 @@ class ImageResult(BaseImageResult):
242
242
  # need actual image_opts.format for next check
243
243
  self.image_opts = self.image_opts.copy()
244
244
  self.image_opts.format = peek_image_format(buf)
245
- if self.image_opts and image_opts and self.image_opts.format != image_opts.format:
245
+ if self.image_opts and image_opts and (
246
+ self.image_opts.format != image_opts.format or self.image_opts.mode != image_opts.mode):
246
247
  log.debug('converting image from %s -> %s' % (self.image_opts, image_opts))
247
248
  self.image = self.as_image()
248
249
  self._buf = None
@@ -348,12 +349,12 @@ class ReadBufWrapper(object):
348
349
 
349
350
  def img_has_transparency(img: Image.Image) -> bool:
350
351
  if img.mode == 'P':
351
- if img.info.get('transparency', False):
352
- return True
353
- # convert to RGBA and check alpha channel
352
+ # Convert to RGBA and check the actual alpha channel instead of
353
+ # relying on img.info['transparency'], which may reference a color
354
+ # that does not actually appear in the image.
354
355
  img = img.convert('RGBA')
355
356
  if img.mode == 'RGBA':
356
- # any alpha except fully opaque
357
+ # any alpha except fully opaque (alpha < 255)
357
358
  return any(img.histogram()[-256:-1])
358
359
  return False
359
360
 
@@ -419,6 +420,13 @@ def img_to_buf(img: Image.Image, image_opts, georef=None) -> BytesIO:
419
420
  and 'transparency' in img.info and isinstance(img.info['transparency'], tuple)):
420
421
  del img.info['transparency']
421
422
 
423
+ if image_opts.mode is not None and img.mode != image_opts.mode:
424
+ img = img.convert(image_opts.mode)
425
+
426
+ # JPEG must always be RGB
427
+ if format == 'jpeg' and img.mode != 'RGB':
428
+ img = img.convert('RGB')
429
+
422
430
  img.save(buf, format, **defaults)
423
431
  buf.seek(0)
424
432
  return buf
@@ -52,9 +52,10 @@ if sys.platform == 'win32' or sys.platform == 'darwin':
52
52
  proc_class = threading.Thread
53
53
  queue_class = queue.Queue
54
54
  else:
55
- import multiprocessing
56
- proc_class = multiprocessing.Process
57
- queue_class = multiprocessing.Queue
55
+ import multiprocess
56
+ from multiprocess import Process
57
+ proc_class: type[Process] = multiprocess.Process
58
+ queue_class = multiprocess.Queue
58
59
 
59
60
 
60
61
  class TileWorkerPool(object):
@@ -352,11 +352,13 @@ class DemoServer(Server):
352
352
  background_url = base_config().background.url
353
353
  if self.background:
354
354
  background_url = self.background["url"]
355
+
356
+ res = [wmts_layer.grid.resolutions[k] for k in list(wmts_layer.grid.resolutions)]
355
357
  return template.substitute(layer=wmts_layer,
356
358
  matrix_set=wmts_layer.grid.name,
357
359
  format=escape_html(req.args['format']),
358
360
  srs=escape_html(req.args['srs']),
359
- resolutions=wmts_layer.grid.resolutions,
361
+ resolutions=res,
360
362
  units=units,
361
363
  all_tile_layers=self.tile_layers,
362
364
  rest_enabled=rest_enabled,
@@ -113,9 +113,13 @@ def api(server: OGCAPIServer, req: Request):
113
113
 
114
114
  oas["info"] = info
115
115
 
116
+ server_url = cfg["server"]["url"]
117
+ if not req.script_url.endswith("/ogcapi"):
118
+ server_url = server.create_href(req, "/ogcapi")
119
+
116
120
  oas["servers"] = [
117
121
  {
118
- "url": cfg["server"]["url"],
122
+ "url": server_url,
119
123
  }
120
124
  ]
121
125
  server_description = _get(cfg, "metadata", "identification", "description")
@@ -307,6 +307,11 @@ class OGCAPIServer(Server):
307
307
  headers.update(self.response_headers)
308
308
 
309
309
  if self.is_html_req(req):
310
+ # Add the ogc_api_base to render the HTML response.
311
+ # In this case it is used in the templates to get the correct
312
+ # resource urls especially in multi-mapproxy setups
313
+ json_resp["ogc_api_base"] = self.create_href(req, "/ogcapi")
314
+
310
315
  content = render_j2_template(
311
316
  self.get_pygeoapi_config(req),
312
317
  service_package.__package__,
@@ -4,13 +4,13 @@
4
4
  {% if config['server']['icon'] %}
5
5
  {% set icon = config['server']['icon'] %}
6
6
  {% else %}
7
- {% set icon = config['server']['url'] + '/static/img/favicon.ico' %}
7
+ {% set icon = data['ogc_api_base'] + '/static/img/favicon.ico' %}
8
8
  {% endif %}
9
9
 
10
10
  {% if config['server']['logo'] %}
11
11
  {% set logo = config['server']['logo'] %}
12
12
  {% else %}
13
- {% set logo = config['server']['url'] + '/static/img/logo.png' %}
13
+ {% set logo = data['ogc_api_base'] + '/static/img/logo.png' %}
14
14
  {% endif %}
15
15
 
16
16
  <head>
@@ -21,8 +21,8 @@
21
21
  <meta name="description" content="{{ config['metadata']['identification']['title'] }}">
22
22
  <meta name="keywords" content="{{ config['metadata']['identification']['keywords']|join(',') }}">
23
23
  <link rel="shortcut icon" href="{{ icon }}" type="image/x-icon">
24
- <link rel="stylesheet" href="{{ config['server']['url'] }}/static/css/bootstrap.min.css">
25
- <link rel="stylesheet" href="{{ config['server']['url'] }}/static/css/default.css">
24
+ <link rel="stylesheet" href="{{ data['ogc_api_base'] }}/static/css/bootstrap.min.css">
25
+ <link rel="stylesheet" href="{{ data['ogc_api_base'] }}/static/css/default.css">
26
26
  <meta name="twitter:image:src" content="{% block thumb %}{% endblock %}{% if not self.thumb() %}{{ logo }}{% endif %}" />
27
27
  <meta property="og:image" content="{{ self.thumb() }}{% if not self.thumb() %}{{ logo }}{% endif %}" />
28
28
  <meta name="twitter:site" content="{{ config['metadata']['identification']['title'] }}" />
@@ -48,7 +48,7 @@
48
48
  <div class="bg-light sticky-top border-bottom">
49
49
  <div class="container">
50
50
  <header class="d-flex flex-wrap align-items-center py-3 justify-content-between">
51
- <a href="{{ config['server']['url'] }}"
51
+ <a href="{{ data['ogc_api_base'] }}"
52
52
  class="d-flex align-items-center mb-3 mb-md-0 text-dark text-decoration-none">
53
53
  <img src="{{ logo }}"
54
54
  title="{{ config['metadata']['identification']['title'] }}" style="height:40px;vertical-align: middle;" /></a>
@@ -60,7 +60,7 @@
60
60
  {% endif %}
61
61
  {% if config['server']['admin'] %}
62
62
  <li class="nav-item">
63
- <a href="{{ config['server']['url'] }}/admin/config" class="nav-link" aria-current="page">{% trans %}Admin{% endtrans %}</a>
63
+ <a href="{{ data['ogc_api_base'] }}/admin/config" class="nav-link" aria-current="page">{% trans %}Admin{% endtrans %}</a>
64
64
  </li>
65
65
  {% endif %}
66
66
  <!--
@@ -76,7 +76,7 @@
76
76
  <div class="row">
77
77
  <div class="col-sm-12">
78
78
  {% block crumbs %}
79
- <a href="{{ config['server']['url'] }}">{% trans %}Home{% endtrans %}</a>
79
+ <a href="{{ data['ogc_api_base'] }}">{% trans %}Home{% endtrans %}</a>
80
80
  {% endblock %}
81
81
  <span style="float: inline-end">
82
82
  {% set links_found = namespace(json=0, jsonld=0) %}
@@ -114,10 +114,10 @@
114
114
  <footer class="sticky-bottom bg-light d-flex justify-content-center align-items-center py-3 px-3 border-top">
115
115
  <div class="text-center w-100">
116
116
  {% trans %}Powered by {% endtrans %}
117
- <a title="mapproxy" href="https://mapproxy.org/"><img src="{{ config['server']['url'] }}/static/img/logo.png" class="mx-1" title="mapproxy logo" style="height:24px;vertical-align: middle;" /> MapProxy</a>
117
+ <a title="mapproxy" href="https://mapproxy.org/"><img src="{{ data['ogc_api_base'] }}/static/img/logo.png" class="mx-1" title="mapproxy logo" alt="mapproxy logo" style="height:24px;vertical-align: middle;" /> MapProxy</a>
118
118
  {{ version }}
119
119
  <br>
120
- (HTML theming based on <a title="mapproxy" href="https://pygeoapi.io/"><img src="/ogcapi/static/img/pygeoapi-logo.png" class="mx-1" title="pygeoapi logo" style="height:24px;vertical-align: middle;" /></a>)
120
+ (HTML theming based on <a title="mapproxy" href="https://pygeoapi.io/"><img src="{{ data['ogc_api_base'] }}/static/img/pygeoapi-logo.png" class="mx-1" title="pygeoapi logo" alt="pygeoapi logo" style="height:24px;vertical-align: middle;" /></a>)
121
121
  </div>
122
122
  </footer>
123
123
  {% block extrafoot %}
@@ -9,9 +9,9 @@
9
9
 
10
10
  {% block extrahead %}
11
11
 
12
- <script src="{{ config['server']['url'] }}/static/ol.js"></script>
13
- <script src="{{ config['server']['url'] }}/static/proj4.min.js"></script>
14
- <link rel="stylesheet" href="{{ config['server']['url'] }}/static/ol.css"/>
12
+ <script src="{{ data['ogc_api_base'] }}/static/ol.js"></script>
13
+ <script src="{{ data['ogc_api_base'] }}/static/proj4.min.js"></script>
14
+ <link rel="stylesheet" href="{{ data['ogc_api_base'] }}/static/ol.css"/>
15
15
 
16
16
  {% endblock %}
17
17
 
@@ -93,7 +93,7 @@ let init;
93
93
  const extent = {{ data['extent'] }};
94
94
 
95
95
  if (!ol.proj.get(srs)) {
96
- const projDefsUrl = "{{ config['server']['url'] }}/static/proj4defs.js";
96
+ const projDefsUrl = "{{ data['ogc_api_base'] }}/static/proj4defs.js";
97
97
  const allDefs = await import(projDefsUrl);
98
98
  const srsNum = srs.indexOf(':') > -1 ? parseInt(srs.split(':')[1]) : parseInt(srs);
99
99
  if (!allDefs.defs[srsNum]) {
@@ -155,7 +155,7 @@ let init;
155
155
  const storageCrs = "{{ data['storageCrs'] }}";
156
156
 
157
157
  if (!ol.proj.get(srs)) {
158
- const projDefsUrl = "{{ config['server']['url'] }}/static/proj4defs.js";
158
+ const projDefsUrl = "{{ data['ogc_api_base'] }}/static/proj4defs.js";
159
159
  const allDefs = await import(projDefsUrl);
160
160
  const srsNum = srs.indexOf(':') > -1 ? parseInt(srs.split(':')[1]) : parseInt(srs);
161
161
  if (!allDefs.defs[srsNum]) {
@@ -61,7 +61,7 @@
61
61
  <section id="collections">
62
62
  <h2>{% trans %}Collections{% endtrans %}</h2>
63
63
  <p>
64
- <a href="{{ config['server']['url'] }}/collections?f=html">{% trans %}View the collections in this service{% endtrans %}</a>
64
+ <a href="{{ data['ogc_api_base'] }}/collections?f=html">{% trans %}View the collections in this service{% endtrans %}</a>
65
65
  </p>
66
66
  </section>
67
67
  {% endif %}
@@ -69,7 +69,7 @@
69
69
  <section id="collections">
70
70
  <h2>{% trans %}SpatioTemporal Assets{% endtrans %}</h2>
71
71
  <p>
72
- <a href="{{ config['server']['url'] }}/stac?f=html">{% trans %}View the SpatioTemporal Assets in this service{% endtrans %}</a>
72
+ <a href="{{ data['ogc_api_base'] }}/stac?f=html">{% trans %}View the SpatioTemporal Assets in this service{% endtrans %}</a>
73
73
  </p>
74
74
  </section>
75
75
  {% endif %}
@@ -77,7 +77,7 @@
77
77
  <section id="processes">
78
78
  <h2>{% trans %}Processes{% endtrans %}</h2>
79
79
  <p>
80
- <a href="{{ config['server']['url'] }}/processes?f=html">{% trans %}View the processes in this service{% endtrans %}</a>
80
+ <a href="{{ data['ogc_api_base'] }}/processes?f=html">{% trans %}View the processes in this service{% endtrans %}</a>
81
81
  </p>
82
82
  </section>
83
83
  <section id="jobs">
@@ -90,23 +90,23 @@
90
90
  <section id="openapi">
91
91
  <h2>{% trans %}API Definition{% endtrans %}</h2>
92
92
  <p>
93
- {% trans %}Documentation{% endtrans %}: <a href="{{ config['server']['url'] }}/api?f=html">{% trans %}Swagger UI{% endtrans %}</a> <a href="{{ config['server']['url'] }}/api?f=html&ui=redoc">{% trans %}ReDoc{% endtrans %}</a>
93
+ {% trans %}Documentation{% endtrans %}: <a href="{{ data['ogc_api_base'] }}/api?f=html">{% trans %}Swagger UI{% endtrans %}</a> | <a href="{{ data['ogc_api_base'] }}/api?f=html&ui=redoc">{% trans %}ReDoc{% endtrans %}</a>
94
94
  </p>
95
95
  <p>
96
- <a href="{{ config['server']['url'] }}/api?f=json">{% trans %}OpenAPI Document{% endtrans %}</a>
96
+ <a href="{{ data['ogc_api_base'] }}/api?f=json">{% trans %}OpenAPI Document{% endtrans %}</a>
97
97
  </p>
98
98
  </section>
99
99
  <section id="conformance">
100
100
  <h2>{% trans %}Conformance{% endtrans %}</h2>
101
101
  <p>
102
- <a href="{{ config['server']['url'] }}/conformance?f=html">{% trans %}View the conformance classes of this service{% endtrans %}</a>
102
+ <a href="{{ data['ogc_api_base'] }}/conformance?f=html">{% trans %}View the conformance classes of this service{% endtrans %}</a>
103
103
  </p>
104
104
  </section>
105
105
  {% if data['tile'] %}
106
106
  <section id="tilematrixsets">
107
107
  <h2>{% trans %}Tile Matrix Sets{% endtrans %}</h2>
108
108
  <p>
109
- <a href="{{ config['server']['url'] }}/tileMatrixSets?f=html">{% trans %}View the Tile Matrix Sets available on this service{% endtrans %}</a>
109
+ <a href="{{ data['ogc_api_base'] }}/tileMatrixSets?f=html">{% trans %}View the Tile Matrix Sets available on this service{% endtrans %}</a>
110
110
  </p>
111
111
  </section>
112
112
  {% endif %}
@@ -114,10 +114,10 @@
114
114
  <section id="dataset_map">
115
115
  <h2>{% trans %}Dataset maps{% endtrans %}</h2>
116
116
  <p>
117
- <a href="{{ config['server']['url'] }}/map.png">{% trans %}Default map of the whole dataset (as PNG){% endtrans %}</a>
117
+ <a href="{{ data['ogc_api_base'] }}/map.png">{% trans %}Default map of the whole dataset (as PNG){% endtrans %}</a>
118
118
  </p>
119
119
  <p>
120
- <a href="{{ config['server']['url'] }}/map.jpg">{% trans %}Default map of the whole dataset (as JPEG){% endtrans %}</a>
120
+ <a href="{{ data['ogc_api_base'] }}/map.jpg">{% trans %}Default map of the whole dataset (as JPEG){% endtrans %}</a>
121
121
  </p>
122
122
  </section>
123
123
  {% endif %}
@@ -125,10 +125,10 @@
125
125
  <section id="dataset_tiles">
126
126
  <h2>{% trans %}Dataset tilesets{% endtrans %}</h2>
127
127
  <p>
128
- <a href="{{ config['server']['url'] }}/map/tiles?f=html">{% trans %}Default tilesets for the whole dataset (as HTML){% endtrans %}</a>
128
+ <a href="{{ data['ogc_api_base'] }}/map/tiles?f=html">{% trans %}Default tilesets for the whole dataset (as HTML){% endtrans %}</a>
129
129
  </p>
130
130
  <p>
131
- <a href="{{ config['server']['url'] }}/map/tiles?f=json">{% trans %}Default tilesets for the whole dataset (as JSON){% endtrans %}</a>
131
+ <a href="{{ data['ogc_api_base'] }}/map/tiles?f=json">{% trans %}Default tilesets for the whole dataset (as JSON){% endtrans %}</a>
132
132
  </p>
133
133
  </section>
134
134
  {% endif %}
@@ -4,7 +4,7 @@
4
4
  <title>ReDoc - {{ config['metadata']['identification']['title'] }}</title>
5
5
  <meta charset="utf-8"/>
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1">
7
- <link href="{{ config['server']['url'] }}/static/fonts_montserra_roboto.css" rel="stylesheet">
7
+ <link href="{{ data['openapi-document-path'] }}/../static/fonts_montserra_roboto.css" rel="stylesheet">
8
8
  <style>
9
9
  body {
10
10
  margin: 0;
@@ -14,6 +14,6 @@
14
14
  </head>
15
15
  <body>
16
16
  <redoc spec-url='{{ data['openapi-document-path'] }}?f=json'></redoc>
17
- <script src="{{ config['server']['url'] }}/static/redoc.standalone.js"> </script>
17
+ <script src="{{ data['openapi-document-path'] }}/../static/redoc.standalone.js"> </script>
18
18
  </body>
19
19
  </html>
@@ -4,9 +4,9 @@
4
4
  <head>
5
5
  <meta charset="UTF-8">
6
6
  <title>Swagger UI - {{ config['metadata']['identification']['title'] }}</title>
7
- <link rel="stylesheet" type="text/css" href="{{ config['server']['url'] }}/static/swagger-ui-dist/swagger-ui.css" >
8
- <link rel="icon" type="image/png" href="{{ config['server']['url'] }}/static/swagger-ui-dist/favicon-32x32.png" sizes="32x32" />
9
- <link rel="icon" type="image/png" href="{{ config['server']['url'] }}/static/swagger-ui-dist/favicon-16x16.png" sizes="16x16" />
7
+ <link rel="stylesheet" type="text/css" href="{{ data['openapi-document-path'] }}/../static/swagger-ui-dist/swagger-ui.css" >
8
+ <link rel="icon" type="image/png" href="{{ data['openapi-document-path'] }}/../static/swagger-ui-dist/favicon-32x32.png" sizes="32x32" />
9
+ <link rel="icon" type="image/png" href="{{ data['openapi-document-path'] }}/../static/swagger-ui-dist/favicon-16x16.png" sizes="16x16" />
10
10
  <style>
11
11
  html
12
12
  {
@@ -30,8 +30,8 @@
30
30
 
31
31
  <body>
32
32
  <div id="swagger-ui"></div>
33
- <script src="{{ config['server']['url'] }}/static/swagger-ui-dist/swagger-ui-bundle.js"> </script>
34
- <script src="{{ config['server']['url'] }}/static/swagger-ui-dist/swagger-ui-standalone-preset.js"> </script>
33
+ <script src="{{ data['openapi-document-path'] }}/../static/swagger-ui-dist/swagger-ui-bundle.js"> </script>
34
+ <script src="{{ data['openapi-document-path'] }}/../static/swagger-ui-dist/swagger-ui-standalone-preset.js"> </script>
35
35
  <script>
36
36
  window.onload = function() {
37
37
  // Begin Swagger UI call region
@@ -10,9 +10,9 @@
10
10
  {% endblock %}
11
11
 
12
12
  {% block extrahead %}
13
- <script src="{{ config['server']['url'] }}/static/ol.js"></script>
14
- <script src="{{ config['server']['url'] }}/static/proj4.min.js"></script>
15
- <link rel="stylesheet" href="{{ config['server']['url'] }}/static/ol.css"/>
13
+ <script src="{{ data['ogc_api_base'] }}/static/ol.js"></script>
14
+ <script src="{{ data['ogc_api_base'] }}/static/proj4.min.js"></script>
15
+ <link rel="stylesheet" href="{{ data['ogc_api_base'] }}/static/ol.css"/>
16
16
 
17
17
  {% endblock %}
18
18
 
@@ -54,7 +54,7 @@
54
54
  const extent = {{ data['extent'] }};
55
55
 
56
56
  if (!ol.proj.get(srs)) {
57
- const projDefsUrl = "{{ config['server']['url'] }}/static/proj4defs.js";
57
+ const projDefsUrl = "{{ data['ogc_api_base'] }}/static/proj4defs.js";
58
58
  const allDefs = await import(projDefsUrl);
59
59
  const srsNum = srs.indexOf(':') > -1 ? parseInt(srs.split(':')[1]) : parseInt(srs);
60
60
  if (!allDefs.defs[srsNum]) {