c2cgeoportal-geoportal 2.6.0__py2.py3-none-any.whl → 2.7.1.86__py2.py3-none-any.whl

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 (212) hide show
  1. c2cgeoportal_geoportal/__init__.py +224 -84
  2. c2cgeoportal_geoportal/lib/__init__.py +64 -42
  3. c2cgeoportal_geoportal/lib/authentication.py +50 -22
  4. c2cgeoportal_geoportal/lib/bashcolor.py +17 -13
  5. c2cgeoportal_geoportal/lib/cacheversion.py +16 -8
  6. c2cgeoportal_geoportal/lib/caching.py +61 -191
  7. c2cgeoportal_geoportal/lib/check_collector.py +17 -10
  8. c2cgeoportal_geoportal/lib/checker.py +61 -63
  9. c2cgeoportal_geoportal/lib/common_headers.py +170 -0
  10. c2cgeoportal_geoportal/lib/dbreflection.py +54 -39
  11. c2cgeoportal_geoportal/lib/filter_capabilities.py +119 -87
  12. c2cgeoportal_geoportal/lib/fulltextsearch.py +6 -5
  13. c2cgeoportal_geoportal/lib/functionality.py +20 -17
  14. c2cgeoportal_geoportal/lib/headers.py +14 -5
  15. c2cgeoportal_geoportal/lib/i18n.py +4 -4
  16. c2cgeoportal_geoportal/lib/layers.py +30 -11
  17. c2cgeoportal_geoportal/lib/lingua_extractor.py +361 -237
  18. c2cgeoportal_geoportal/lib/loader.py +10 -15
  19. c2cgeoportal_geoportal/lib/metrics.py +28 -17
  20. c2cgeoportal_geoportal/lib/oauth2.py +214 -145
  21. c2cgeoportal_geoportal/lib/wmstparsing.py +115 -90
  22. c2cgeoportal_geoportal/lib/xsd.py +26 -16
  23. c2cgeoportal_geoportal/resources.py +15 -9
  24. c2cgeoportal_geoportal/scaffolds/advance_create/ci/config.yaml +26 -0
  25. c2cgeoportal_geoportal/scaffolds/advance_create/cookiecutter.json +18 -0
  26. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/.dockerignore +6 -0
  27. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/.eslintrc.yaml +19 -0
  28. c2cgeoportal_geoportal/scaffolds/{create/geoportal/+dot+prospector.yaml → advance_create/{{cookiecutter.project}}/geoportal/.prospector.yaml} +8 -2
  29. c2cgeoportal_geoportal/scaffolds/{create/geoportal/Dockerfile_tmpl → advance_create/{{cookiecutter.project}}/geoportal/Dockerfile} +18 -9
  30. c2cgeoportal_geoportal/scaffolds/{create/geoportal/alembic.yaml_tmpl → advance_create/{{cookiecutter.project}}/geoportal/alembic.yaml} +1 -1
  31. c2cgeoportal_geoportal/scaffolds/{create/geoportal/development.ini_tmpl → advance_create/{{cookiecutter.project}}/geoportal/development.ini} +34 -15
  32. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/gunicorn.conf.py +104 -0
  33. c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/lingua-client.cfg +1 -0
  34. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/production.ini +38 -0
  35. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/requirements.txt +2 -0
  36. c2cgeoportal_geoportal/scaffolds/{create/geoportal/setup.py_tmpl → advance_create/{{cookiecutter.project}}/geoportal/setup.py} +6 -7
  37. c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/tools/extract-messages.js +8 -6
  38. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/tsconfig.json +8 -0
  39. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/webpack.api.js +75 -0
  40. c2cgeoportal_geoportal/scaffolds/{create/geoportal/webpack.apps.js_tmpl → advance_create/{{cookiecutter.project}}/geoportal/webpack.apps.js} +31 -28
  41. c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/webpack.commons.js +3 -7
  42. c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/webpack.config.js +1 -1
  43. c2cgeoportal_geoportal/scaffolds/{create/geoportal/+package+_geoportal/__init__.py_tmpl → advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/__init__.py} +11 -22
  44. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/authentication.py +10 -0
  45. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/dev.py +14 -0
  46. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/models.py +8 -0
  47. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/multi_organization.py +7 -0
  48. c2cgeoportal_geoportal/scaffolds/{create/geoportal/+package+_geoportal → advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/resources.py +4 -3
  49. c2cgeoportal_geoportal/scaffolds/{create/geoportal/+package+_geoportal/static-ngeo/api/index.js_tmpl → advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static-ngeo/api/index.js} +1 -2
  50. c2cgeoportal_geoportal/scaffolds/{create/geoportal/+package+_geoportal/static-ngeo/js/+package+module.js_tmpl → advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static-ngeo/js/{{cookiecutter.package}}module.js} +4 -4
  51. c2cgeoportal_geoportal/scaffolds/{create/geoportal/+package+_geoportal/subscribers.py_tmpl → advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/subscribers.py} +1 -3
  52. c2cgeoportal_geoportal/scaffolds/advance_update/cookiecutter.json +18 -0
  53. c2cgeoportal_geoportal/scaffolds/{update/geoportal/CONST_Makefile_tmpl → advance_update/{{cookiecutter.project}}/geoportal/CONST_Makefile} +3 -7
  54. c2cgeoportal_geoportal/scaffolds/create/cookiecutter.json +18 -0
  55. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.dockerignore +14 -0
  56. c2cgeoportal_geoportal/scaffolds/create/{+dot+editorconfig → {{cookiecutter.project}}/.editorconfig} +2 -5
  57. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/main.yaml +43 -0
  58. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/rebuild.yaml +46 -0
  59. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/update_l10n.yaml +65 -0
  60. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.gitignore +16 -0
  61. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.prettierignore +1 -0
  62. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.prettierrc.yaml +2 -0
  63. c2cgeoportal_geoportal/scaffolds/create/{Dockerfile_tmpl → {{cookiecutter.project}}/Dockerfile} +20 -11
  64. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/Makefile +14 -0
  65. c2cgeoportal_geoportal/scaffolds/create/{README.rst_tmpl → {{cookiecutter.project}}/README.rst} +4 -4
  66. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/build +158 -0
  67. c2cgeoportal_geoportal/scaffolds/create/{ci/config.yaml_tmpl → {{cookiecutter.project}}/ci/config.yaml} +7 -5
  68. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/ci/requirements.txt +1 -0
  69. c2cgeoportal_geoportal/scaffolds/create/{docker-compose-lib.yaml → {{cookiecutter.project}}/docker-compose-lib.yaml} +133 -17
  70. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose.override.sample.yaml +66 -0
  71. c2cgeoportal_geoportal/scaffolds/create/{docker-compose.yaml → {{cookiecutter.project}}/docker-compose.yaml} +17 -12
  72. c2cgeoportal_geoportal/scaffolds/create/{env.default_tmpl → {{cookiecutter.project}}/env.default} +29 -14
  73. c2cgeoportal_geoportal/scaffolds/create/{env.project_tmpl → {{cookiecutter.project}}/env.project} +16 -4
  74. c2cgeoportal_geoportal/scaffolds/create/{geoportal/vars.yaml_tmpl → {{cookiecutter.project}}/geoportal/vars.yaml} +93 -27
  75. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/css/mobile.css +0 -0
  76. c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/data/Readme.txt +1 -1
  77. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/demo.map.tmpl +224 -0
  78. c2cgeoportal_geoportal/scaffolds/create/{mapserver/mapserver.map.tmpl_tmpl → {{cookiecutter.project}}/mapserver/mapserver.map.tmpl} +7 -15
  79. c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/A3_Landscape.jrxml +8 -8
  80. c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/A3_Portrait.jrxml +8 -8
  81. c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/A4_Landscape.jrxml +8 -8
  82. c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/A4_Portrait.jrxml +8 -8
  83. c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/config.yaml.tmpl +5 -4
  84. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/localisation.properties +4 -0
  85. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/localisation_fr.properties +4 -0
  86. c2cgeoportal_geoportal/scaffolds/create/{project.yaml_tmpl → {{cookiecutter.project}}/project.yaml} +6 -6
  87. c2cgeoportal_geoportal/scaffolds/create/{qgisserver/pg_service.conf.tmpl_tmpl → {{cookiecutter.project}}/qgisserver/pg_service.conf.tmpl} +2 -2
  88. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/scripts/db-backup +107 -0
  89. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/scripts/db-restore +111 -0
  90. c2cgeoportal_geoportal/scaffolds/create/{setup.cfg_tmpl → {{cookiecutter.project}}/setup.cfg} +1 -1
  91. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/spell-ignore-words.txt +3 -0
  92. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/tilegeneration/config.yaml.tmpl +195 -0
  93. c2cgeoportal_geoportal/scaffolds/update/cookiecutter.json +18 -0
  94. c2cgeoportal_geoportal/scaffolds/update/{+dot+upgrade.yaml_tmpl → {{cookiecutter.project}}/.upgrade.yaml} +49 -39
  95. c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/CONST_CHANGELOG.txt +1153 -0
  96. c2cgeoportal_geoportal/scaffolds/update/{geoportal → {{cookiecutter.project}}/geoportal}/CONST_config-schema.yaml +47 -2
  97. c2cgeoportal_geoportal/scaffolds/update/{geoportal/CONST_vars.yaml_tmpl → {{cookiecutter.project}}/geoportal/CONST_vars.yaml} +350 -15
  98. c2cgeoportal_geoportal/scripts/__init__.py +15 -31
  99. c2cgeoportal_geoportal/scripts/c2cupgrade.py +271 -232
  100. c2cgeoportal_geoportal/scripts/create_demo_theme.py +3 -6
  101. c2cgeoportal_geoportal/scripts/manage_users.py +34 -39
  102. c2cgeoportal_geoportal/scripts/pcreate.py +312 -0
  103. c2cgeoportal_geoportal/scripts/theme2fts.py +72 -23
  104. c2cgeoportal_geoportal/scripts/urllogin.py +17 -9
  105. c2cgeoportal_geoportal/templates/login.html +88 -84
  106. c2cgeoportal_geoportal/templates/notlogin.html +59 -59
  107. c2cgeoportal_geoportal/templates/testi18n.html +6 -8
  108. c2cgeoportal_geoportal/views/__init__.py +23 -4
  109. c2cgeoportal_geoportal/views/dev.py +9 -7
  110. c2cgeoportal_geoportal/views/dynamic.py +54 -18
  111. c2cgeoportal_geoportal/views/entry.py +93 -24
  112. c2cgeoportal_geoportal/views/fulltextsearch.py +28 -22
  113. c2cgeoportal_geoportal/views/geometry_processing.py +15 -7
  114. c2cgeoportal_geoportal/views/i18n.py +91 -9
  115. c2cgeoportal_geoportal/views/layers.py +160 -126
  116. c2cgeoportal_geoportal/views/login.py +106 -93
  117. c2cgeoportal_geoportal/views/mapserverproxy.py +45 -28
  118. c2cgeoportal_geoportal/views/memory.py +12 -12
  119. c2cgeoportal_geoportal/views/ogcproxy.py +48 -30
  120. c2cgeoportal_geoportal/views/pdfreport.py +26 -22
  121. c2cgeoportal_geoportal/views/printproxy.py +56 -50
  122. c2cgeoportal_geoportal/views/profile.py +24 -23
  123. c2cgeoportal_geoportal/views/proxy.py +84 -67
  124. c2cgeoportal_geoportal/views/raster.py +35 -24
  125. c2cgeoportal_geoportal/views/resourceproxy.py +13 -11
  126. c2cgeoportal_geoportal/views/shortener.py +27 -24
  127. c2cgeoportal_geoportal/views/theme.py +427 -321
  128. c2cgeoportal_geoportal/views/tinyowsproxy.py +46 -39
  129. c2cgeoportal_geoportal/views/vector_tiles.py +80 -0
  130. {c2cgeoportal_geoportal-2.6.0.dist-info → c2cgeoportal_geoportal-2.7.1.86.dist-info}/METADATA +24 -20
  131. c2cgeoportal_geoportal-2.7.1.86.dist-info/RECORD +185 -0
  132. {c2cgeoportal_geoportal-2.6.0.dist-info → c2cgeoportal_geoportal-2.7.1.86.dist-info}/WHEEL +1 -1
  133. {c2cgeoportal_geoportal-2.6.0.dist-info → c2cgeoportal_geoportal-2.7.1.86.dist-info}/entry_points.txt +3 -1
  134. tests/__init__.py +7 -3
  135. tests/test_cachebuster.py +0 -2
  136. tests/test_caching.py +17 -25
  137. tests/test_checker.py +0 -2
  138. tests/test_decimaljson.py +4 -4
  139. tests/test_headerstween.py +0 -2
  140. tests/test_i18n.py +1 -1
  141. tests/test_init.py +4 -7
  142. tests/test_locale_negociator.py +0 -2
  143. tests/test_mapserverproxy_route_predicate.py +0 -2
  144. tests/test_raster.py +0 -2
  145. tests/test_wmstparsing.py +0 -2
  146. c2cgeoportal_geoportal/scaffolds/__init__.py +0 -227
  147. c2cgeoportal_geoportal/scaffolds/create/+dot+dockerignore_tmpl +0 -12
  148. c2cgeoportal_geoportal/scaffolds/create/+dot+github/workflows/main.yaml_tmpl +0 -89
  149. c2cgeoportal_geoportal/scaffolds/create/+dot+github/workflows/rebuild.yaml_tmpl +0 -78
  150. c2cgeoportal_geoportal/scaffolds/create/+dot+gitignore_tmpl +0 -16
  151. c2cgeoportal_geoportal/scaffolds/create/Makefile +0 -3
  152. c2cgeoportal_geoportal/scaffolds/create/build_tmpl +0 -167
  153. c2cgeoportal_geoportal/scaffolds/create/ci/requirements.txt +0 -1
  154. c2cgeoportal_geoportal/scaffolds/create/ci/trigger +0 -68
  155. c2cgeoportal_geoportal/scaffolds/create/docker-compose.override.sample.yaml +0 -54
  156. c2cgeoportal_geoportal/scaffolds/create/geoportal/+dot+dockerignore_tmpl +0 -6
  157. c2cgeoportal_geoportal/scaffolds/create/geoportal/+dot+eslintrc_tmpl +0 -15
  158. c2cgeoportal_geoportal/scaffolds/create/geoportal/+package+_geoportal/models.py_tmpl +0 -10
  159. c2cgeoportal_geoportal/scaffolds/create/geoportal/+package+_geoportal/static/robot.txt +0 -3
  160. c2cgeoportal_geoportal/scaffolds/create/geoportal/production.ini_tmpl +0 -106
  161. c2cgeoportal_geoportal/scaffolds/create/geoportal/requirements.txt +0 -2
  162. c2cgeoportal_geoportal/scaffolds/create/geoportal/tsconfig.json_tmpl +0 -9
  163. c2cgeoportal_geoportal/scaffolds/create/geoportal/webpack.api.js_tmpl +0 -72
  164. c2cgeoportal_geoportal/scaffolds/create/mapserver/demo.map.tmpl_tmpl +0 -262
  165. c2cgeoportal_geoportal/scaffolds/create/mapserver/tinyows.xml +0 -36
  166. c2cgeoportal_geoportal/scaffolds/create/print/print-apps/+package+/config.yaml +0 -168
  167. c2cgeoportal_geoportal/scaffolds/create/qgisserver/geomapfish.yaml.tmpl_tmpl +0 -16
  168. c2cgeoportal_geoportal/scaffolds/create/spell-ignore-words.txt +0 -1
  169. c2cgeoportal_geoportal/scaffolds/create/tilegeneration/config.yaml.tmpl_tmpl +0 -185
  170. c2cgeoportal_geoportal/scaffolds/create/yamllint.yaml +0 -11
  171. c2cgeoportal_geoportal/scaffolds/update/CONST_CHANGELOG.txt_tmpl +0 -454
  172. c2cgeoportal_geoportal/templates/dynamic.js +0 -21
  173. c2cgeoportal_geoportal-2.6.0.dist-info/RECORD +0 -173
  174. /c2cgeoportal_geoportal/{scaffolds/create/geoportal/+package+_geoportal/static/css/desktop.css → py.typed} +0 -0
  175. /c2cgeoportal_geoportal/scaffolds/{create/geoportal/Makefile_tmpl → advance_create/{{cookiecutter.project}}/geoportal/Makefile} +0 -0
  176. /c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/alembic.ini +0 -0
  177. /c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/language_mapping +0 -0
  178. /c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/lingua-server.cfg +0 -0
  179. /c2cgeoportal_geoportal/scaffolds/{create/geoportal/+package+_geoportal → advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/views/__init__.py +0 -0
  180. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal/locale/en/LC_MESSAGES/+package+_geoportal-client.po → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/locale/en/LC_MESSAGES/{{cookiecutter.package}}_geoportal-client.po} +0 -0
  181. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal/static/css/iframe_api.css → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/css/desktop.css} +0 -0
  182. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal/static/css/mobile.css → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/css/iframe_api.css} +0 -0
  183. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/static/images/banner_left.png +0 -0
  184. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/static/images/banner_right.png +0 -0
  185. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/static/images/blank.png +0 -0
  186. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/static/images/markers/marker-blue.png +0 -0
  187. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/static/images/markers/marker-gold.png +0 -0
  188. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/static/images/markers/marker-green.png +0 -0
  189. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/static/images/markers/marker.png +0 -0
  190. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/static/robot.txt.tmpl +0 -0
  191. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/data/TM_EUROPE_BORDERS-0.3.sql +0 -0
  192. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Arial.ttf +0 -0
  193. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Arialbd.ttf +0 -0
  194. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Arialbi.ttf +0 -0
  195. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Ariali.ttf +0 -0
  196. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/NotoSans-Bold.ttf +0 -0
  197. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/NotoSans-BoldItalic.ttf +0 -0
  198. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/NotoSans-Italic.ttf +0 -0
  199. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/NotoSans-Regular.ttf +0 -0
  200. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Verdana.ttf +0 -0
  201. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Verdanab.ttf +0 -0
  202. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Verdanai.ttf +0 -0
  203. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Verdanaz.ttf +0 -0
  204. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts.conf +0 -0
  205. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/tinyows.xml.tmpl +0 -0
  206. /c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/legend.jrxml +0 -0
  207. /c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/logo.png +0 -0
  208. /c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/north.svg +0 -0
  209. /c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/results.jrxml +0 -0
  210. /c2cgeoportal_geoportal/scaffolds/create/{pyproject.toml → {{cookiecutter.project}}/pyproject.toml} +0 -0
  211. /c2cgeoportal_geoportal/scaffolds/create/{run_alembic.sh → {{cookiecutter.project}}/run_alembic.sh} +0 -0
  212. {c2cgeoportal_geoportal-2.6.0.dist-info → c2cgeoportal_geoportal-2.7.1.86.dist-info}/top_level.txt +0 -0
@@ -39,7 +39,7 @@
39
39
  <font size="8"/>
40
40
  </textElement>
41
41
  <textFieldExpression><![CDATA[
42
- "Le " + java.time.ZonedDateTime.now().format(
42
+ $R{date_pre} + " " + java.time.ZonedDateTime.now().format(
43
43
  java.time.format.DateTimeFormatter.
44
44
  ofPattern("EEEE dd MMMM yyyy HH:mm").
45
45
  withLocale($P{REPORT_LOCALE}).
@@ -118,13 +118,13 @@
118
118
  </textElement>
119
119
  <text><![CDATA[Detail band 3]]></text>
120
120
  </staticText>
121
- <staticText>
121
+ <textField>
122
122
  <reportElement x="0" y="2" width="460" height="20" forecolor="#424242"/>
123
123
  <textElement>
124
124
  <font size="16" isBold="true"/>
125
125
  </textElement>
126
- <text><![CDATA[LÉGENDE]]></text>
127
- </staticText>
126
+ <textFieldExpression><![CDATA[$R{legend}]]></textFieldExpression>
127
+ </textField>
128
128
  <subreport>
129
129
  <reportElement stretchType="RelativeToTallestObject" x="0" y="26" width="255" height="56"/>
130
130
  <dataSourceExpression><![CDATA[$P{legendDataSource}]]></dataSourceExpression>
@@ -146,14 +146,14 @@
146
146
  </textElement>
147
147
  <text><![CDATA[Pied de page, sur chaque page]]></text>
148
148
  </staticText>
149
- <staticText>
149
+ <textField>
150
150
  <reportElement x="0" y="1" width="300" height="14"/>
151
- <text><![CDATA[Développé par Camptocamp SA, info@camptocamp.com]]></text>
152
- </staticText>
151
+ <textFieldExpression><![CDATA[$R{info}]]></textFieldExpression>
152
+ </textField>
153
153
  <textField>
154
154
  <reportElement x="496" y="21" width="38" height="30"/>
155
155
  <textElement textAlignment="Right" verticalAlignment="Bottom"/>
156
- <textFieldExpression><![CDATA["Page " + $V{PAGE_NUMBER}]]></textFieldExpression>
156
+ <textFieldExpression><![CDATA[$R{page} + " " + $V{PAGE_NUMBER}]]></textFieldExpression>
157
157
  </textField>
158
158
  <textField evaluationTime="Report">
159
159
  <reportElement x="534" y="21" width="22" height="30"/>
@@ -2,6 +2,7 @@
2
2
 
3
3
  throwErrorOnExtraParameters: true
4
4
  defaultToSvg: true
5
+ resourceBundle: localisation
5
6
 
6
7
  allowedReferers: &allowedHosts
7
8
  ${DISABLE_MUTUALIZED_PRINT}- !hostnameMatch
@@ -58,6 +59,10 @@ templates:
58
59
  directory: '.'
59
60
  - !configureHttpRequests &configureHttpRequests
60
61
  httpProcessors:
62
+ - !forwardHeaders
63
+ matchers: *allowedHosts
64
+ headers:
65
+ - Cookie
61
66
  ## For internal print
62
67
  ${DISABLE_LOCAL_PRINT}- !mapUri
63
68
  ${DISABLE_LOCAL_PRINT} mapping:
@@ -71,10 +76,6 @@ templates:
71
76
  ${DISABLE_LOCAL_PRINT} host: ${GEOPORTAL_INTERNAL_HOST}
72
77
  ${DISABLE_LOCAL_PRINT} port: ${GEOPORTAL_INTERNAL_PORT}
73
78
  ## End for internal print
74
- - !forwardHeaders
75
- matchers: *allowedHosts
76
- headers:
77
- - Cookie
78
79
  - !forwardHeaders
79
80
  headers:
80
81
  - Referer
@@ -0,0 +1,4 @@
1
+ date_pre = The
2
+ page = Page
3
+ info = Developed by Camptocamp SA, info@camptocamp.com
4
+ legend = LEGEND
@@ -0,0 +1,4 @@
1
+ date_pre = Le
2
+ page = Page
3
+ info = Développé par Camptocamp SA, info@camptocamp.com
4
+ legend = LÉGENDE
@@ -1,15 +1,15 @@
1
1
  ---
2
- project_folder: {{project}}
3
- project_package: {{package}}
2
+ project_folder: {{cookiecutter.project}}
3
+ project_package: {{cookiecutter.package}}
4
4
  application_url: https://localhost:8484/
5
5
  checker_url: https://172.17.0.1:8484/c2c/health_check?max_level=9
6
6
  managed_files: []
7
7
  unmanaged_files: []
8
8
  template_vars:
9
- package: {{package}}
10
- srid: {{srid}}
11
- extent: {{extent}}
12
- authtkt_secret: {{authtkt_secret}}
9
+ package: {{cookiecutter.package}}
10
+ srid: {{cookiecutter.srid}}
11
+ extent: {{cookiecutter.extent}}
12
+ authtkt_secret: {{cookiecutter.authtkt_secret}}
13
13
  env:
14
14
  files:
15
15
  - env.default
@@ -1,4 +1,4 @@
1
- [{{package}}]
1
+ [{{cookiecutter.package}}]
2
2
  host=${PGHOST_SLAVE}
3
3
  port=${PGPORT_SLAVE}
4
4
  #sslmode=${PGSSLMODE}
@@ -6,7 +6,7 @@ user=${PGUSER}
6
6
  password=${PGPASSWORD}
7
7
  dbname=${PGDATABASE}
8
8
 
9
- [{{package}}_master]
9
+ [{{cookiecutter.package}}_master]
10
10
  host=${PGHOST}
11
11
  port=${PGPORT}
12
12
  #sslmode=${PGSSLMODE}
@@ -0,0 +1,107 @@
1
+ #!/usr/bin/env python3
2
+
3
+ # Copyright (c) 2021, Camptocamp SA
4
+ # All rights reserved.
5
+
6
+ # Redistribution and use in source and binary forms, with or without
7
+ # modification, are permitted provided that the following conditions are met:
8
+
9
+ # 1. Redistributions of source code must retain the above copyright notice, this
10
+ # list of conditions and the following disclaimer.
11
+ # 2. Redistributions in binary form must reproduce the above copyright notice,
12
+ # this list of conditions and the following disclaimer in the documentation
13
+ # and/or other materials provided with the distribution.
14
+
15
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
16
+ # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17
+ # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18
+ # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
19
+ # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20
+ # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21
+ # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22
+ # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23
+ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24
+ # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25
+
26
+ # The views and conclusions contained in the software and documentation are those
27
+ # of the authors and should not be interpreted as representing official policies,
28
+ # either expressed or implied, of the FreeBSD Project.
29
+
30
+
31
+ import argparse
32
+ import subprocess
33
+
34
+
35
+ def main() -> None:
36
+ """Backup the database."""
37
+ parser = argparse.ArgumentParser(description="Backup the database.")
38
+ parser.add_argument(
39
+ "--env",
40
+ default=".env",
41
+ help="The env file to use to get the connection settings, by default we log in the composition "
42
+ "to do the dump.",
43
+ )
44
+ parser.add_argument(
45
+ "--arg",
46
+ action="append",
47
+ default=[],
48
+ help="Additional pg_dump argument, example: '--arg=--schema=main', may be used multiple times.",
49
+ )
50
+ parser.add_argument("file", help="The file path to backup")
51
+ args = parser.parse_args()
52
+
53
+ with open(args.file, "w", encoding="utf-8") as file_out:
54
+ if args.env:
55
+ env = {}
56
+ with open(args.env, encoding="utf-8") as file_env:
57
+ for line in file_env:
58
+ if line and line[0] != "#":
59
+ try:
60
+ index = line.index("=")
61
+ env[line[:index].strip()] = line[index + 1 :].strip()
62
+ except ValueError:
63
+ # Ignore lines that don't have a '='
64
+ pass
65
+ subprocess.run(
66
+ [
67
+ "docker",
68
+ "run",
69
+ "--rm",
70
+ "--env=PGHOST={}".format(env["PGHOST_SLAVE"]),
71
+ "--env=PGPORT={}".format(env["PGPORT_SLAVE"]),
72
+ "--env=PGUSER={}".format(env["PGUSER"]),
73
+ "--env=PGPASSWORD={}".format(env["PGPASSWORD"]),
74
+ ]
75
+ + (["--env=PGSSLMODE={}".format(env["PGSSLMODE"])] if "PGSSLMODE" in env else [])
76
+ + (["--env=PGOPTIONS={}".format(env["PGOPTIONS"])] if "PGOPTIONS" in env else [])
77
+ + [
78
+ "camptocamp/postgres:{}".format(env["POSTGRES_TAG"]),
79
+ ]
80
+ + [
81
+ "pg_dump",
82
+ "--format=c",
83
+ "--dbname={}".format(env["PGDATABASE"]),
84
+ ]
85
+ + args.arg,
86
+ stdout=file_out,
87
+ check=True,
88
+ )
89
+ else:
90
+ subprocess.run(
91
+ [
92
+ "docker-compose",
93
+ "exec",
94
+ "-T",
95
+ "db",
96
+ "bash",
97
+ "-c",
98
+ 'pg_dump --format=c --dbname="$PGDATABASE"',
99
+ ]
100
+ + args.arg,
101
+ stdout=file_out,
102
+ check=True,
103
+ )
104
+
105
+
106
+ if __name__ == "__main__":
107
+ main()
@@ -0,0 +1,111 @@
1
+ #!/usr/bin/env python3
2
+
3
+ # Copyright (c) 2021, Camptocamp SA
4
+ # All rights reserved.
5
+
6
+ # Redistribution and use in source and binary forms, with or without
7
+ # modification, are permitted provided that the following conditions are met:
8
+
9
+ # 1. Redistributions of source code must retain the above copyright notice, this
10
+ # list of conditions and the following disclaimer.
11
+ # 2. Redistributions in binary form must reproduce the above copyright notice,
12
+ # this list of conditions and the following disclaimer in the documentation
13
+ # and/or other materials provided with the distribution.
14
+
15
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
16
+ # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17
+ # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18
+ # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
19
+ # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20
+ # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21
+ # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22
+ # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23
+ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24
+ # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25
+
26
+ # The views and conclusions contained in the software and documentation are those
27
+ # of the authors and should not be interpreted as representing official policies,
28
+ # either expressed or implied, of the FreeBSD Project.
29
+
30
+ import argparse
31
+ import subprocess
32
+
33
+
34
+ def main() -> None:
35
+ """Restore the database backup."""
36
+ parser = argparse.ArgumentParser(description="Restore the database backup.")
37
+ parser.add_argument(
38
+ "--env",
39
+ help="The env file to use to get the connection settings, by default we log in the composition to "
40
+ "do the restore.",
41
+ )
42
+ parser.add_argument(
43
+ "--docker-compose-file",
44
+ action="append",
45
+ default=[],
46
+ help="The docker-compose file to used.",
47
+ )
48
+ parser.add_argument(
49
+ "--arg",
50
+ action="append",
51
+ default=[],
52
+ help="Additional pg_restore argument, example: '--arg=--schema=main', may be used multiple times.",
53
+ )
54
+ parser.add_argument("file", help="The file path to restore")
55
+ args = parser.parse_args()
56
+
57
+ with open(args.file, "rb") as file_in:
58
+ if args.env:
59
+ env = {}
60
+ with open(args.env, encoding="utf-8") as file_env:
61
+ for line in file_env:
62
+ if line and line[0] != "#":
63
+ try:
64
+ index = line.index("=")
65
+ env[line[:index].strip()] = line[index + 1 :].strip()
66
+ except ValueError:
67
+ # Ignore lines that don't have a '='
68
+ pass
69
+ subprocess.run(
70
+ [
71
+ "docker",
72
+ "run",
73
+ "--rm",
74
+ "--interactive",
75
+ "--env=PGHOST={}".format(env["PGHOST"]),
76
+ "--env=PGPORT={}".format(env["PGPORT"]),
77
+ "--env=PGUSER={}".format(env["PGUSER"]),
78
+ "--env=PGPASSWORD={}".format(env["PGPASSWORD"]),
79
+ ]
80
+ + (["--env=PGSSLMODE={}".format(env["PGSSLMODE"])] if "PGSSLMODE" in env else [])
81
+ + (["--env=PGOPTIONS={}".format(env["PGOPTIONS"])] if "PGOPTIONS" in env else [])
82
+ + [
83
+ "camptocamp/postgres:{}".format(env["POSTGRES_TAG"]),
84
+ ]
85
+ + [
86
+ "pg_restore",
87
+ "--dbname={}".format(env["PGDATABASE"]),
88
+ ]
89
+ + args.arg,
90
+ stdin=file_in,
91
+ check=True,
92
+ )
93
+ else:
94
+ subprocess.run(
95
+ ["docker-compose"]
96
+ + ["--file={}".format(f) for f in args.docker_compose_file]
97
+ + [
98
+ "exec",
99
+ "-T",
100
+ "db",
101
+ "bash",
102
+ "-c",
103
+ 'pg_restore --dbname="$PGDATABASE" ' + " ".join(args.arg),
104
+ ],
105
+ stdin=file_in,
106
+ check=True,
107
+ )
108
+
109
+
110
+ if __name__ == "__main__":
111
+ main()
@@ -1,5 +1,5 @@
1
1
  [isort]
2
- known_first_party=c2cgeoportal_commons,c2cgeoportal_geoportal,c2cgeoportal_admin,{{package}}_geoportal
2
+ known_first_party=c2cgeoportal_commons,c2cgeoportal_geoportal,c2cgeoportal_admin,{{cookiecutter.package}}_geoportal
3
3
  multi_line_output=3
4
4
  include_trailing_comma=1
5
5
  force_grid_wrap=0
@@ -0,0 +1,195 @@
1
+ # yaml-language-server: $schema=https://raw.githubusercontent.com/camptocamp/tilecloud-chain/master/tilecloud_chain/schema.json
2
+
3
+ grids:
4
+ # grid name, I just recommends to add the min resolution because it's common to not generate all the layers at the same resolution.
5
+ swissgrid_05:
6
+ # resolutions [required]
7
+ # Resolutions from eCH-0056 - WMTS-07
8
+ # https://www.ech.ch/dokument/473ea824-bbcd-43fa-ad0a-c7c84edfa1b8
9
+ resolutions: [4000, 2000, 1000, 500, 250, 100, 50, 20, 10, 5, 2.5, 1, 0.5, 0.25, 0.1, 0.05]
10
+ # bbox [required]
11
+ bbox: [2420000, 1030000, 2900000, 1350000]
12
+ # srs [required]
13
+ srs: EPSG:{{cookiecutter.srid}}
14
+
15
+ caches:
16
+ ${DISABLE_LOCAL} local:
17
+ ${DISABLE_LOCAL} type: filesystem
18
+ ${DISABLE_LOCAL} folder: /var/sig/tiles
19
+ ${DISABLE_LOCAL} # for GetCapabilities
20
+ ${DISABLE_LOCAL} http_url: ${VISIBLE_WEB_PROTOCOL}://${VISIBLE_WEB_HOST}${VISIBLE_ENTRY_POINT}
21
+ ${DISABLE_LOCAL} s3:
22
+ ${DISABLE_LOCAL} type: s3
23
+ ${DISABLE_LOCAL} bucket: ${TILEGENERATION_S3_BUCKET}
24
+ ${DISABLE_LOCAL} folder: ''
25
+ ${DISABLE_LOCAL} # for GetCapabilities
26
+ ${DISABLE_LOCAL} http_url: ${VISIBLE_WEB_PROTOCOL}://${VISIBLE_WEB_HOST}${VISIBLE_ENTRY_POINT}
27
+ ${DISABLE_LOCAL} cache_control: 'public, max-age=14400'
28
+ ${DISABLE_LOCAL} host: ${AWS_S3_ENDPOINT}
29
+ azure:
30
+ type: azure
31
+ container: ${TILEGENERATION_AZURE_CONTAINER}
32
+ folder: ''
33
+ # for GetCapabilities
34
+ http_url: ${VISIBLE_WEB_PROTOCOL}://${VISIBLE_WEB_HOST}${VISIBLE_ENTRY_POINT}
35
+ cache_control: 'public, max-age=14400'
36
+
37
+ # this defines some defaults values for all the layers
38
+ defaults:
39
+ layer: &layer
40
+ type: wms
41
+ grid: swissgrid_05
42
+ # The minimum resolution to seed, useful to use with mapcache, optional.
43
+ # min_resolution_seed: 1
44
+ # the URL of the WMS server to used
45
+ url: ${MAPSERVER_URL}
46
+ # Set the headers to get the right virtual host, and don't get any cached result
47
+ headers:
48
+ Host: '${VISIBLE_WEB_HOST}'
49
+ Cache-Control: no-cache, no-store
50
+ Pragma: no-cache
51
+ # file name extension
52
+ extension: png
53
+ # legend file name extension
54
+ legend_extension: png
55
+ # the bbox there we want to generate tiles
56
+ #bbox: [493000, 114000, 586000, 204000]
57
+
58
+ # mime type used for the WMS request and the WMTS capabilities generation
59
+ mime_type: image/png
60
+ # mime type used for the WMS request and the WMTS legend image generation
61
+ legend_mime: image/png
62
+ wmts_style: default
63
+ # the WMTS dimensions definition [default is []]
64
+ #dimensions:
65
+ # - name: DATE
66
+ # # the default value for the WMTS capabilities
67
+ # default: '2012'
68
+ # # the generated values
69
+ # generate: ['2012']
70
+ # # all the available values in the WMTS capabilities
71
+ # values: ['2012']
72
+ # the meta tiles definition [default is false]
73
+ meta: true
74
+ # the meta tiles size [default is 8]
75
+ meta_size: 5
76
+ # the meta tiles buffer [default is 128]
77
+ meta_buffer: 128
78
+ # connection an sql to get geometries (in column named geom) where we want to generate tiles
79
+ # Warn: too complex result can slow down the application
80
+ # connection: host=localhost port=5432 user=www-data password=www-data dbname=<db>
81
+ # geoms:
82
+ # - sql: <column> AS geom FROM <table>
83
+ # size and hash used to detect empty tiles and metatiles [optional, default is None]
84
+ empty_metatile_detection:
85
+ size: 740
86
+ hash: 3237839c217b51b8a9644d596982f342f8041546
87
+ empty_tile_detection:
88
+ size: 921
89
+ hash: 1e3da153be87a493c4c71198366485f290cad43c
90
+
91
+ layers:
92
+ plan:
93
+ <<: *layer
94
+ layers: plan
95
+ ortho:
96
+ <<: *layer
97
+ layers: ortho
98
+ extension: jpeg
99
+ mime_type: image/jpeg
100
+ # no buffer needed on rater sources
101
+ meta_buffer: 0
102
+ empty_metatile_detection:
103
+ size: 66163
104
+ hash: a9d16a1794586ef92129a2fb41a739451ed09914
105
+ empty_tile_detection:
106
+ size: 1651
107
+ hash: 2892fea0a474228f5d66a534b0b5231d923696da
108
+
109
+ generation:
110
+ default_cache: s3
111
+
112
+ ${DISABLE_LOCAL}redis:
113
+ ${DISABLE_LOCAL} socket_timeout: ${REDIS_TIMEOUT}
114
+ ${DISABLE_LOCAL} # For standalone version
115
+ ${DISABLE_LOCAL} url: 'redis://${REDIS_HOST}:${REDIS_PORT}/${REDIS_DB}'
116
+ ${DISABLE_LOCAL} # For Kubernetes version
117
+ ${DISABLE_LOCAL} # sentinels:
118
+ ${DISABLE_LOCAL} # - - ${REDIS_HOST}
119
+ ${DISABLE_LOCAL} # - ${REDIS_PORT}
120
+ ${DISABLE_LOCAL} # service_name: ${REDIS_SERVICENAME}
121
+ ${DISABLE_LOCAL} # db: ${REDIS_DB}
122
+
123
+ server:
124
+ ${DISABLE_LOCAL} wmts_path: tiles
125
+ ${DISABLE_LOCAL} static_path: tiles/static
126
+ ${DISABLE_LOCAL} admin_path: tiles/admin
127
+ expires: 8 # 8 hours
128
+ predefined_commands:
129
+ - name: Generation all layers
130
+ command: generate_tiles
131
+ - name: Generation layer plan
132
+ command: generate_tiles --layer=plan
133
+ - name: Generation layer ortho
134
+ command: generate_tiles --layer=ortho
135
+ - name: Generate the legend images
136
+ command: generate_controller --generate-legend-images
137
+
138
+ process:
139
+ optipng_test:
140
+ - cmd: optipng -o7 -simulate %(in)s
141
+ optipng:
142
+ - cmd: optipng %(args)s -zc9 -zm8 -zs3 -f5 %(in)s
143
+ arg:
144
+ default: '-q'
145
+ quiet: '-q'
146
+ jpegoptim:
147
+ - cmd: jpegoptim %(args)s --strip-all --all-normal -m 90 %(in)s
148
+ arg:
149
+ default: '-q'
150
+ quiet: '-q'
151
+
152
+ openlayers:
153
+ srs: EPSG:{{cookiecutter.srid}}
154
+ center_x: 2600000
155
+ center_y: 1200000
156
+ # The proj4js definition, get it from https://epsg.io/
157
+ # For EPSG:2056
158
+ proj4js_def: |
159
+ +proj=somerc
160
+ +lat_0=46.95240555555556
161
+ +lon_0=7.439583333333333
162
+ +k_0=1
163
+ +x_0=2600000
164
+ +y_0=1200000
165
+ +ellps=bessel
166
+ +towgs84=674.374,15.056,405.346,0,0,0,0
167
+ +units=m +no_defs
168
+
169
+ metadata:
170
+ title: Some title
171
+ abstract: Some abstract
172
+ servicetype: OGC WMTS
173
+ keywords:
174
+ - some
175
+ - keywords
176
+ fees: None
177
+ access_constraints: None
178
+
179
+ provider:
180
+ name: The provider name
181
+ url: The provider URL
182
+ contact:
183
+ name: The contact name
184
+ position: The position name
185
+ info:
186
+ phone:
187
+ voice: +41 11 222 33 44
188
+ fax: +41 11 222 33 44
189
+ address:
190
+ delivery: Address delivery
191
+ city: Berne
192
+ area: BE
193
+ postal_code: 3000
194
+ country: Switzerland
195
+ email: info@example.com
@@ -0,0 +1,18 @@
1
+ {
2
+ "project": "test_project",
3
+ "package": "test_project",
4
+ "srid": "2056",
5
+ "extent": "",
6
+ "extent_mapserver": "",
7
+ "authtkt_secret": "",
8
+ "unsafe_long_version": false,
9
+ "geomapfish_version": "",
10
+ "geomapfish_main_version": "",
11
+ "geomapfish_main_version_dash": "",
12
+ "geomapfish_main_minor_version": "",
13
+ "geomapfish_version_tag": "",
14
+ "geomapfish_version_tag_env": "",
15
+ "geomapfish_major_version_tag": "",
16
+ "geomapfish_major_version_tag_env": "",
17
+ "_copy_without_render": ["*.po", "*/contextualdata.html", "*.html.mako"]
18
+ }