c2cgeoportal-geoportal 2.6.0__py2.py3-none-any.whl → 2.7.1.156__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 +67 -43
  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 +122 -88
  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 +102 -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 +162 -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 +67 -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 +110 -0
  89. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/scripts/db-restore +114 -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 +1160 -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 -17
  98. c2cgeoportal_geoportal/scripts/__init__.py +16 -30
  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 +19 -11
  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 +56 -19
  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 +46 -29
  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 +60 -52
  122. c2cgeoportal_geoportal/views/profile.py +24 -23
  123. c2cgeoportal_geoportal/views/proxy.py +87 -69
  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.156.dist-info}/METADATA +25 -20
  131. c2cgeoportal_geoportal-2.7.1.156.dist-info/RECORD +185 -0
  132. {c2cgeoportal_geoportal-2.6.0.dist-info → c2cgeoportal_geoportal-2.7.1.156.dist-info}/WHEEL +1 -1
  133. {c2cgeoportal_geoportal-2.6.0.dist-info → c2cgeoportal_geoportal-2.7.1.156.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.156.dist-info}/top_level.txt +0 -0
@@ -1,167 +0,0 @@
1
- #!/usr/bin/env python3
2
-
3
- import argparse
4
- import os
5
- import os.path
6
- import platform
7
- import re
8
- import shutil
9
- import stat
10
- import subprocess
11
- import sys
12
- import urllib.request
13
-
14
- import yaml
15
-
16
-
17
- def call(verbose, arguments, **kwargs):
18
- print_args = [a.replace(" ", "\\ ") for a in arguments]
19
- print_args = [a.replace('"', '\\"') for a in print_args]
20
- print_args = [a.replace("'", "\\'") for a in print_args]
21
- if verbose:
22
- print(" ".join(print_args))
23
- try:
24
- subprocess.check_call(arguments, **kwargs)
25
- except subprocess.CalledProcessError as e:
26
- print("Error with command: " + " ".join(print_args))
27
- sys.exit(e.returncode)
28
-
29
-
30
- def load_env(env_files):
31
- """
32
- Parse env files and return environment as dict
33
- """
34
- env = {}
35
- if os.path.exists("env.personal"):
36
- env_files.append("env.personal")
37
- for env_file in env_files:
38
- with open(env_file) as f:
39
- for line in f:
40
- if line and line[0] != "#":
41
- try:
42
- index = line.index("=")
43
- env[line[:index].strip()] = line[index + 1 :].strip()
44
- except ValueError:
45
- # Ignore lines that don't have a '='
46
- pass
47
- return env
48
-
49
-
50
- def main():
51
- parser = argparse.ArgumentParser(description="Build the project")
52
- parser.add_argument("--verbose", help="Display the docker build commands")
53
- parser.add_argument("--config", action="store_true", help="Build only the configuration image")
54
- parser.add_argument("--geoportal", action="store_true", help="Build only the geoportal image")
55
- parser.add_argument("--simple", action="store_true", help="Force simple application mode")
56
- parser.add_argument("--not-simple", action="store_true", help="Force not simple application mode")
57
- parser.add_argument("--upgrade", help="Start upgrading the project to version")
58
- parser.add_argument(
59
- "--debug", help="Path to c2cgeoportal source folder to be able to debug the upgrade procedure"
60
- )
61
- parser.add_argument("env", nargs="*", help="The environment config")
62
- args = parser.parse_args()
63
-
64
- if args.upgrade:
65
- major_version = args.upgrade
66
- match = re.match(r"^([0-9]+\.[0-9]+)\.[0-9]+$", args.upgrade)
67
- if match is not None:
68
- major_version = match.group(1)
69
- match = re.match(r"^([0-9]+\.[0-9]+)\.[0-9a-z]+\.[0-9]+$", args.upgrade)
70
- if match is not None:
71
- major_version = match.group(1)
72
- full_version = args.upgrade if args.upgrade != "master" else "latest"
73
- with open("upgrade", "w") as f:
74
- result = urllib.request.urlopen(
75
- "https://raw.githubusercontent.com/camptocamp/c2cgeoportal/{}/scripts/upgrade".format(
76
- major_version
77
- )
78
- )
79
- if result.code != 200:
80
- print("ERROR:")
81
- print(result.read())
82
- sys.exit(1)
83
- f.write(result.read().decode())
84
- debug_args = []
85
- if args.debug:
86
- shutil.copyfile(os.path.join(args.debug, "scripts", "upgrade"), "upgrade")
87
- debug_args = ["--debug", args.debug]
88
- os.chmod("upgrade", os.stat("upgrade").st_mode | stat.S_IXUSR)
89
- try:
90
- if platform.system() == "Windows":
91
- subprocess.check_call(["python", "upgrade", full_version] + debug_args)
92
- else:
93
- subprocess.check_call(["./upgrade", full_version] + debug_args)
94
- except subprocess.CalledProcessError:
95
- sys.exit(1)
96
- sys.exit(0)
97
-
98
- with open("project.yaml") as project_file:
99
- project_env = yaml.load(project_file, Loader=yaml.SafeLoader)["env"]
100
- if len(args.env) != project_env["required_args"]:
101
- print(project_env["help"])
102
- sys.exit(1)
103
- env_files = [e.format(*args.env) for e in project_env["files"]]
104
- print("Use env files: {}".format(", ".join(env_files)))
105
- for env_file in env_files:
106
- if not os.path.exists(env_file):
107
- print("Error: the env file '{}' does not exist.".format(env_file))
108
- sys.exit(1)
109
- env = load_env(env_files)
110
-
111
- base = env["DOCKER_BASE"] if "DOCKER_BASE" in env else "camptocamp/{{package}}"
112
- tag = ":" + env["DOCKER_TAG"] if "DOCKER_TAG" in env else ""
113
- schema = env["PGSCHEMA"]
114
-
115
- default = not (args.config or args.geoportal)
116
-
117
- docker_build = ["docker", "build"]
118
- if os.environ.get("CI", "FALSE").upper() != "TRUE":
119
- docker_build.append("--pull")
120
-
121
- if default or args.config:
122
- simple = not os.path.exists("geoportal/Dockerfile")
123
- if args.simple:
124
- simple = True
125
- if args.not_simple:
126
- simple = False
127
- call(
128
- args.verbose,
129
- docker_build
130
- + [
131
- "--tag={}-config{}".format(base, tag),
132
- "--build-arg=SIMPLE=" + str(simple).upper(),
133
- "--build-arg=PGSCHEMA=" + schema,
134
- ".",
135
- ],
136
- )
137
- if (default and os.path.exists("geoportal/Dockerfile")) or args.geoportal:
138
- git_hash = subprocess.check_output(["git", "rev-parse", "HEAD"]).strip().decode()
139
- call(
140
- args.verbose,
141
- docker_build
142
- + [
143
- "--tag={}-geoportal{}".format(base, tag),
144
- "--build-arg=PGSCHEMA=" + schema,
145
- "--build-arg=GIT_HASH=" + git_hash,
146
- "geoportal",
147
- ],
148
- )
149
- call(
150
- args.verbose,
151
- docker_build
152
- + [
153
- "--target=builder",
154
- "--tag={}-geoportal-dev{}".format(base, tag),
155
- "geoportal",
156
- ],
157
- )
158
-
159
- with open(".env", "w") as dest:
160
- for file_ in env_files:
161
- with open(file_) as src:
162
- dest.write(src.read() + "\n")
163
- dest.write("# Used env files: {}\n".format(" ".join(env_files)))
164
-
165
-
166
- if __name__ == "__main__":
167
- main()
@@ -1 +0,0 @@
1
- c2cciutils==1.0.dev20210111121829
@@ -1,68 +0,0 @@
1
- #!/usr/bin/env python3
2
-
3
- import argparse
4
- import os.path
5
- import subprocess
6
- import sys
7
-
8
-
9
- def main():
10
- parser = argparse.ArgumentParser(description="Publish Docker images")
11
- parser.add_argument("--image", dest="images", action="append", help="The image to be exported")
12
- args = parser.parse_args()
13
-
14
- ref = os.environ["GITHUB_REF"].split("/")
15
-
16
- if ref[1] != "heads":
17
- print("Not a branch")
18
- sys.exit(0)
19
-
20
- version = "/".join(ref[2:])
21
-
22
- # TODO
23
- if version not in os.environ.get("HELM_RELEASE_NAMES", "").split(","):
24
- print("Not a release branch")
25
- sys.exit(0)
26
-
27
- openshift_version = "3.11.0"
28
- openshift_hash = "0cbc58b"
29
- openshift_version_name = "openshift-origin-client-tools-v{}-{}-linux-64bit".format(
30
- openshift_version, openshift_hash
31
- )
32
- openshift_file = openshift_version_name + ".tar.gz"
33
- openshift_url = "https://github.com/openshift/origin/releases/download/v{}/{}".format(
34
- openshift_version, openshift_file
35
- )
36
- subprocess.check_call(["wget", "--quiet", openshift_url], cwd="/tmp")
37
- subprocess.check_call(["tar", "xfz", openshift_file], cwd="/tmp")
38
- oc = "/tmp/{}/oc".format(openshift_version_name) # pylint: disable=invalid-name
39
-
40
- subprocess.check_call(
41
- [
42
- oc,
43
- "login",
44
- subprocess.check_output(
45
- ["gopass", "show", "gs/ci/openshift/{}/url".format(os.environ["OPENSHIFT_PROJECT"])]
46
- ).decode(),
47
- "--token="
48
- + subprocess.check_output(
49
- ["gopass", "show", "gs/ci/openshift/{}/token".format(os.environ["OPENSHIFT_PROJECT"])]
50
- ).decode(),
51
- ]
52
- )
53
- for image in args.images:
54
- openshift_image_ref = "{version}-c2cgeoportal-{image}:{version}".format(version=version, image=image)
55
- subprocess.check_call(
56
- [
57
- oc,
58
- "import-image",
59
- openshift_image_ref,
60
- "--scheduled=true",
61
- "--reference-policy=local",
62
- "--namespace=" + os.environ["OPENSHIFT_PROJECT"],
63
- ]
64
- )
65
-
66
-
67
- if __name__ == "__main__":
68
- main()
@@ -1,54 +0,0 @@
1
- ---
2
- # This file can be renamed as `docker-compose.override.yaml` and uncomment the desired lines for
3
- # development. The file `docker-compose.override.yaml` is ignored by Git by default.
4
-
5
- # yamllint disable rule:line-length
6
-
7
- version: '2.0'
8
-
9
- services:
10
- geoportal:
11
- user: root
12
- volumes:
13
- # For Python project development.
14
- - ./geoportal/${PACKAGE}_geoportal:/app/${PACKAGE}_geoportal
15
- # For Python c2cgeportal development.
16
- # - ./../c2cgeoportal/commons/c2cgeoportal_commons:/opt/c2cgeoportal/commons/c2cgeoportal_commons
17
- # - ./../c2cgeoportal/geoportal/c2cgeoportal_geoportal:/opt/c2cgeoportal/geoportal/c2cgeoportal_geoportal
18
- # - ./../c2cgeoportal/admin/c2cgeoportal_admin:/opt/c2cgeoportal/admin/c2cgeoportal_admin
19
- environment:
20
- - GUNICORN_CMD_ARGS=--reload
21
- - C2CWSGIUTILS_CONFIG=/app/development.ini
22
- # - PRINT_URL=http://print:8080/print/
23
- ports:
24
- - 5678:5678 # For remote debugging using Visual Studio Code
25
-
26
- # Also uncomment the PRINT_URL in geoportal
27
- # print:
28
- # extends:
29
- # file: docker-compose-lib.yaml
30
- # service: print
31
- # volumes_from:
32
- # - config:ro
33
-
34
- qgisserver:
35
- # volumes:
36
- # - './../c2cgeoportal/docker/qgisserver/geomapfish_qgisserver/:/var/www/plugins/geomapfish_qgisserver/'
37
- # - './../c2cgeoportal/commons/c2cgeoportal_commons:/opt/c2cgeoportal/commons/c2cgeoportal_commons/'
38
- environment:
39
- - QGIS_SERVER_LOG_LEVEL=0
40
-
41
- # For Javascript project development.
42
- # The debug application will be available at ``https://<host>/<entry_point>/dev/<interface>.html``.
43
- webpack_dev_server:
44
- # Uncomment these lines when you want to debug respectively the project js, ngeo js and/or the gmf contrib js.
45
- # Adapt the path for ngeo / gmf contrib to point where you have checkouted the code.
46
- # volumes:
47
- # - ./geoportal/${PACKAGE}_geoportal/static-ngeo:/app/${PACKAGE}_geoportal/static-ngeo
48
- # - ./../ngeo/src:/usr/lib/node_modules/ngeo/src
49
- # - ./../ngeo/contribs:/usr/lib/node_modules/ngeo/contribs
50
- volumes_from:
51
- - config:rw
52
- extends:
53
- file: docker-compose-lib.yaml
54
- service: webpack_dev_server
@@ -1,6 +0,0 @@
1
- Dockerfile
2
- vars*.yaml
3
- CONST_vars.yaml
4
- CONST_config-schema.yaml
5
- {{package}}_geoportal/locale
6
- {{package}}_geoportal/static
@@ -1,15 +0,0 @@
1
- extends:
2
- - openlayers
3
- globals:
4
- '{{package}}': false
5
- env:
6
- jquery: true
7
- parserOptions:
8
- ecmaVersion: 2017
9
- rules:
10
- no-console: 0
11
- comma-dangle: 0
12
- import/no-unresolved: 0
13
- valid-jsdoc: 0
14
- sort-imports-es6-autofix/sort-imports-es6: 0
15
- prettier/prettier: 0
@@ -1,10 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
-
3
- import logging
4
-
5
- from pyramid.i18n import TranslationStringFactory
6
-
7
- from c2cgeoportal_commons.models.main import * # noqa
8
-
9
- _ = TranslationStringFactory("{{package}}_geoportal-server")
10
- LOG = logging.getLogger(__name__)
@@ -1,3 +0,0 @@
1
- User-agent: *
2
- Disallow: admin
3
- Disallow: c2c
@@ -1,106 +0,0 @@
1
- [app:app]
2
- use = egg:{{package}}_geoportal
3
- filter-with = proxy-prefix
4
- pyramid.reload_templates = false
5
- pyramid.debug_authorization = false
6
- pyramid.debug_notfound = false
7
- pyramid.debug_routematch = false
8
- pyramid.debug_templates = false
9
- mako.directories = {{package}}_geoportal:templates
10
- c2cgeoportal_geoportal:templates
11
- authtkt_secret = %(AUTHTKT_SECRET)s
12
- authtkt_cookie_name = %(AUTHTKT_COOKIENAME)s
13
- authtkt_timeout = %(AUTHTKT_TIMEOUT)s
14
- authtkt_max_age = %(AUTHTKT_MAXAGE)s
15
- authtkt_reissue_time = %(AUTHTKT_REISSUE_TIME)s
16
- authtkt_http_only = %(AUTHTKT_HTTP_ONLY)s
17
- authtkt_secure = %(AUTHTKT_SECURE)s
18
- authtkt_samesite = %(AUTHTKT_SAMESITE)s
19
- basicauth = %(BASICAUTH)s
20
-
21
- app.cfg = /etc/geomapfish/config.yaml
22
-
23
- tm.annotate_user = false
24
-
25
- [filter:proxy-prefix]
26
- use = egg:PasteDeploy#prefix
27
- prefix = %(VISIBLE_ENTRY_POINT)s
28
-
29
- [pipeline:main]
30
- pipeline =
31
- app
32
-
33
- ###
34
- # logging configuration
35
- # https://docs.pylonsproject.org/projects/pyramid/en/1.5-branch/narr/logging.html
36
- ###
37
-
38
- [loggers]
39
- keys = root, sqlalchemy, gunicorn, c2cgeoportal_commons, c2cgeoportal_geoportal, c2cgeoportal_admin, {{package}}_geoportal, c2cwsgiutils, dogpilecache
40
-
41
- [handlers]
42
- keys = console, json
43
-
44
- [formatters]
45
- keys = generic
46
-
47
- [logger_root]
48
- level = %(OTHER_LOG_LEVEL)s
49
- handlers = %(LOG_TYPE)s
50
-
51
- [logger_c2cgeoportal_commons]
52
- level = %(C2CGEOPORTAL_LOG_LEVEL)s
53
- handlers =
54
- qualname = c2cgeoportal_commons
55
-
56
- [logger_c2cgeoportal_geoportal]
57
- level = %(C2CGEOPORTAL_LOG_LEVEL)s
58
- handlers =
59
- qualname = c2cgeoportal_geoportal
60
-
61
- [logger_c2cgeoportal_admin]
62
- level = %(C2CGEOPORTAL_LOG_LEVEL)s
63
- handlers =
64
- qualname = c2cgeoportal_admin
65
-
66
- [logger_{{package}}_geoportal]
67
- level = %(LOG_LEVEL)s
68
- handlers =
69
- qualname = {{package}}_geoportal
70
-
71
- [logger_c2cwsgiutils]
72
- level = %(C2CWSGIUTILS_LOG_LEVEL)s
73
- handlers =
74
- qualname = c2cwsgiutils
75
-
76
- [logger_gunicorn]
77
- level = %(GUNICORN_LOG_LEVEL)s
78
- handlers =
79
- qualname = gunicorn
80
-
81
- [logger_sqlalchemy]
82
- level = %(SQL_LOG_LEVEL)s
83
- handlers =
84
- qualname = sqlalchemy.engine
85
- # "level = INFO" logs SQL queries.
86
- # "level = DEBUG" logs SQL queries and results.
87
- # "level = WARN" logs neither. (Recommended for production systems.)
88
-
89
- [logger_dogpilecache]
90
- level = %(DOGPILECACHE_LOG_LEVEL)s
91
- handlers =
92
- qualname = dogpile.cache
93
-
94
- [handler_console]
95
- class = StreamHandler
96
- args = (sys.stderr,)
97
- level = NOTSET
98
- formatter = generic
99
-
100
- [handler_json]
101
- class = c2cwsgiutils.pyramid_logging.JsonLogHandler
102
- args = (sys.stdout,)
103
- level = NOTSET
104
-
105
- [formatter_generic]
106
- format = %(levelname)-5.5s [%(name)s] %(message)s
@@ -1,2 +0,0 @@
1
- #ptvsd # Remote debugging
2
- #wsgi-lineprof # Profiling
@@ -1,9 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "module": "system",
4
- "lib": ["es2017", "dom"],
5
- },
6
- "include": [
7
- "{{package}}_geoportal/static-ngeo/js/**/*.js",
8
- ],
9
- }
@@ -1,72 +0,0 @@
1
- const path = require('path');
2
- const TerserPlugin = require('terser-webpack-plugin');
3
-
4
- const destDir = '/etc/static-ngeo/';
5
-
6
- const babelPresets = [[require.resolve('@babel/preset-env'), {
7
- targets: {
8
- browsers: ['> 0.5% in CH', '> 0.5% in FR', 'Firefox ESR', 'ie 11'],
9
- },
10
- modules: false,
11
- loose: true
12
- }]];
13
-
14
- module.exports = (env, argv) => {
15
- const library = argv.library ? argv.library : '{{package}}';
16
- return {
17
- entry: path.resolve(__dirname, '{{package}}_geoportal/static-ngeo/api/index.js'),
18
- devtool: 'source-map',
19
- mode: 'production',
20
- module: {
21
- rules: [{
22
- test: /\.js$/,
23
- use: {
24
- loader: 'babel-loader',
25
- options: {
26
- presets: babelPresets,
27
- babelrc: false,
28
- comments: false,
29
- plugins: [
30
- require.resolve('@babel/plugin-syntax-object-rest-spread'),
31
- require.resolve('@babel/plugin-transform-spread'),
32
- require.resolve('babel-plugin-angularjs-annotate'),
33
- ]
34
- }
35
- }
36
- }]
37
- },
38
- output: {
39
- filename: 'api.js',
40
- path: destDir,
41
- libraryTarget: 'umd',
42
- globalObject: 'this',
43
- libraryExport: 'default',
44
- library: library
45
- },
46
- optimization: {
47
- minimizer: [
48
- new TerserPlugin({
49
- parallel: true,
50
- sourceMap: true,
51
- terserOptions: {
52
- compress: false
53
- }
54
- })
55
- ]
56
- },
57
- resolve: {
58
- modules: [
59
- '/usr/lib/node_modules',
60
- '/usr/lib/node_modules/ol/node_modules',
61
- '/usr/lib/node_modules/proj4/node_modules',
62
- ],
63
- alias: {
64
- api: '/usr/lib/node_modules/ngeo/api/src',
65
- '@geoblocks/proj': '@geoblocks/proj/src',
66
- }
67
- },
68
- resolveLoader: {
69
- modules: ['/usr/lib/node_modules'],
70
- }
71
- };
72
- };