c2cgeoportal-geoportal 2.5.0.100__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 (224) hide show
  1. c2cgeoportal_geoportal/__init__.py +261 -130
  2. c2cgeoportal_geoportal/lib/__init__.py +74 -120
  3. c2cgeoportal_geoportal/lib/authentication.py +170 -21
  4. c2cgeoportal_geoportal/lib/bashcolor.py +17 -13
  5. c2cgeoportal_geoportal/lib/cacheversion.py +19 -11
  6. c2cgeoportal_geoportal/lib/caching.py +66 -160
  7. c2cgeoportal_geoportal/lib/check_collector.py +17 -10
  8. c2cgeoportal_geoportal/lib/checker.py +62 -64
  9. c2cgeoportal_geoportal/lib/common_headers.py +170 -0
  10. c2cgeoportal_geoportal/lib/dbreflection.py +70 -31
  11. c2cgeoportal_geoportal/lib/filter_capabilities.py +127 -97
  12. c2cgeoportal_geoportal/lib/fulltextsearch.py +50 -0
  13. c2cgeoportal_geoportal/lib/functionality.py +36 -21
  14. c2cgeoportal_geoportal/lib/headers.py +14 -5
  15. c2cgeoportal_geoportal/lib/i18n.py +39 -0
  16. c2cgeoportal_geoportal/lib/layers.py +29 -10
  17. c2cgeoportal_geoportal/lib/lingua_extractor.py +408 -211
  18. c2cgeoportal_geoportal/lib/loader.py +18 -16
  19. c2cgeoportal_geoportal/lib/metrics.py +29 -18
  20. c2cgeoportal_geoportal/lib/oauth2.py +1036 -0
  21. c2cgeoportal_geoportal/lib/wmstparsing.py +115 -90
  22. c2cgeoportal_geoportal/lib/xsd.py +29 -19
  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/+dot+prospector.yaml → advance_create/{{cookiecutter.project}}/geoportal/.prospector.yaml} +8 -4
  29. c2cgeoportal_geoportal/scaffolds/{create/geoportal/Dockerfile_tmpl → advance_create/{{cookiecutter.project}}/geoportal/Dockerfile} +24 -15
  30. c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/alembic.ini +1 -0
  31. c2cgeoportal_geoportal/scaffolds/{create/geoportal/alembic.yaml_tmpl → advance_create/{{cookiecutter.project}}/geoportal/alembic.yaml} +1 -1
  32. c2cgeoportal_geoportal/scaffolds/{create/geoportal/development.ini_tmpl → advance_create/{{cookiecutter.project}}/geoportal/development.ini} +34 -15
  33. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/gunicorn.conf.py +102 -0
  34. c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/lingua-client.cfg +1 -0
  35. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/production.ini +38 -0
  36. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/requirements.txt +2 -0
  37. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/setup.py +25 -0
  38. c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/tools/extract-messages.js +8 -6
  39. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/tsconfig.json +8 -0
  40. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/webpack.api.js +75 -0
  41. c2cgeoportal_geoportal/scaffolds/{create/geoportal/webpack.apps.js_tmpl → advance_create/{{cookiecutter.project}}/geoportal/webpack.apps.js} +31 -28
  42. c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/webpack.commons.js +3 -7
  43. c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/webpack.config.js +4 -4
  44. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/__init__.py +47 -0
  45. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/authentication.py +10 -0
  46. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/dev.py +14 -0
  47. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/models.py +8 -0
  48. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/multi_organization.py +7 -0
  49. c2cgeoportal_geoportal/scaffolds/{create/geoportal/+package+_geoportal → advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/resources.py +4 -3
  50. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static-ngeo/api/index.js +12 -0
  51. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static-ngeo/js/{{cookiecutter.package}}module.js +25 -0
  52. c2cgeoportal_geoportal/scaffolds/{create/geoportal/+package+_geoportal/subscribers.py_tmpl → advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/subscribers.py} +3 -6
  53. c2cgeoportal_geoportal/scaffolds/advance_update/cookiecutter.json +18 -0
  54. c2cgeoportal_geoportal/scaffolds/{update/geoportal/CONST_Makefile_tmpl → advance_update/{{cookiecutter.project}}/geoportal/CONST_Makefile} +32 -20
  55. c2cgeoportal_geoportal/scaffolds/create/cookiecutter.json +18 -0
  56. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.dockerignore +14 -0
  57. c2cgeoportal_geoportal/scaffolds/create/{+dot+editorconfig → {{cookiecutter.project}}/.editorconfig} +4 -8
  58. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/main.yaml +43 -0
  59. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/rebuild.yaml +46 -0
  60. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/update_l10n.yaml +65 -0
  61. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.gitignore +16 -0
  62. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.prettierignore +1 -0
  63. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.prettierrc.yaml +2 -0
  64. c2cgeoportal_geoportal/scaffolds/create/{Dockerfile_tmpl → {{cookiecutter.project}}/Dockerfile} +34 -24
  65. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/Makefile +14 -0
  66. c2cgeoportal_geoportal/scaffolds/create/{README.rst_tmpl → {{cookiecutter.project}}/README.rst} +4 -4
  67. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/build +162 -0
  68. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/ci/config.yaml +25 -0
  69. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/ci/requirements.txt +1 -0
  70. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose-lib.yaml +474 -0
  71. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose.override.sample.yaml +67 -0
  72. c2cgeoportal_geoportal/scaffolds/create/{docker-compose.yaml → {{cookiecutter.project}}/docker-compose.yaml} +43 -18
  73. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/env.default +82 -0
  74. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/env.project +60 -0
  75. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/vars.yaml +396 -0
  76. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/css/mobile.css +0 -0
  77. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/markers/marker-blue.png +0 -0
  78. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/markers/marker-gold.png +0 -0
  79. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/markers/marker-green.png +0 -0
  80. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/markers/marker.png +0 -0
  81. c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/data/Readme.txt +1 -1
  82. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/demo.map.tmpl +224 -0
  83. c2cgeoportal_geoportal/scaffolds/create/{mapserver/mapserver.map.tmpl_tmpl → {{cookiecutter.project}}/mapserver/mapserver.map.tmpl} +7 -15
  84. c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/A3_Landscape.jrxml +17 -9
  85. c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/A3_Portrait.jrxml +17 -9
  86. c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/A4_Landscape.jrxml +17 -9
  87. c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/A4_Portrait.jrxml +17 -9
  88. c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/config.yaml.tmpl +30 -27
  89. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/legend.jrxml +109 -0
  90. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/localisation.properties +4 -0
  91. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/localisation_fr.properties +4 -0
  92. c2cgeoportal_geoportal/scaffolds/create/{project.yaml_tmpl → {{cookiecutter.project}}/project.yaml} +6 -6
  93. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/pyproject.toml +3 -0
  94. c2cgeoportal_geoportal/scaffolds/create/{qgisserver/pg_service.conf.tmpl_tmpl → {{cookiecutter.project}}/qgisserver/pg_service.conf.tmpl} +2 -2
  95. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/scripts/db-backup +110 -0
  96. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/scripts/db-restore +114 -0
  97. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/setup.cfg +7 -0
  98. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/spell-ignore-words.txt +3 -0
  99. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/tilegeneration/config.yaml.tmpl +195 -0
  100. c2cgeoportal_geoportal/scaffolds/update/cookiecutter.json +18 -0
  101. c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/.upgrade.yaml +191 -0
  102. c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/CONST_CHANGELOG.txt +1160 -0
  103. c2cgeoportal_geoportal/scaffolds/update/{geoportal → {{cookiecutter.project}}/geoportal}/CONST_config-schema.yaml +99 -47
  104. c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/geoportal/CONST_vars.yaml +1410 -0
  105. c2cgeoportal_geoportal/scripts/__init__.py +18 -32
  106. c2cgeoportal_geoportal/scripts/c2cupgrade.py +295 -200
  107. c2cgeoportal_geoportal/scripts/create_demo_theme.py +5 -6
  108. c2cgeoportal_geoportal/scripts/manage_users.py +34 -37
  109. c2cgeoportal_geoportal/scripts/pcreate.py +312 -0
  110. c2cgeoportal_geoportal/scripts/theme2fts.py +92 -25
  111. c2cgeoportal_geoportal/scripts/urllogin.py +23 -17
  112. c2cgeoportal_geoportal/templates/login.html +88 -84
  113. c2cgeoportal_geoportal/templates/notlogin.html +62 -0
  114. c2cgeoportal_geoportal/templates/testi18n.html +6 -8
  115. c2cgeoportal_geoportal/views/__init__.py +23 -4
  116. c2cgeoportal_geoportal/views/dev.py +9 -7
  117. c2cgeoportal_geoportal/views/dynamic.py +71 -40
  118. c2cgeoportal_geoportal/views/entry.py +93 -24
  119. c2cgeoportal_geoportal/views/fulltextsearch.py +36 -29
  120. c2cgeoportal_geoportal/views/geometry_processing.py +15 -7
  121. c2cgeoportal_geoportal/views/i18n.py +91 -9
  122. c2cgeoportal_geoportal/views/layers.py +173 -134
  123. c2cgeoportal_geoportal/views/login.py +206 -87
  124. c2cgeoportal_geoportal/views/mapserverproxy.py +59 -35
  125. c2cgeoportal_geoportal/views/memory.py +13 -13
  126. c2cgeoportal_geoportal/views/ogcproxy.py +48 -30
  127. c2cgeoportal_geoportal/views/pdfreport.py +31 -27
  128. c2cgeoportal_geoportal/views/printproxy.py +70 -54
  129. c2cgeoportal_geoportal/views/profile.py +25 -24
  130. c2cgeoportal_geoportal/views/proxy.py +100 -70
  131. c2cgeoportal_geoportal/views/raster.py +47 -29
  132. c2cgeoportal_geoportal/views/resourceproxy.py +13 -11
  133. c2cgeoportal_geoportal/views/shortener.py +31 -24
  134. c2cgeoportal_geoportal/views/theme.py +475 -365
  135. c2cgeoportal_geoportal/views/tinyowsproxy.py +46 -39
  136. c2cgeoportal_geoportal/views/vector_tiles.py +80 -0
  137. {c2cgeoportal_geoportal-2.5.0.100.dist-info → c2cgeoportal_geoportal-2.7.1.156.dist-info}/METADATA +17 -11
  138. c2cgeoportal_geoportal-2.7.1.156.dist-info/RECORD +185 -0
  139. {c2cgeoportal_geoportal-2.5.0.100.dist-info → c2cgeoportal_geoportal-2.7.1.156.dist-info}/WHEEL +1 -1
  140. {c2cgeoportal_geoportal-2.5.0.100.dist-info → c2cgeoportal_geoportal-2.7.1.156.dist-info}/entry_points.txt +3 -1
  141. tests/__init__.py +24 -3
  142. tests/test_cachebuster.py +1 -3
  143. tests/test_caching.py +19 -26
  144. tests/test_checker.py +2 -3
  145. tests/test_decimaljson.py +4 -4
  146. tests/test_headerstween.py +0 -3
  147. tests/test_i18n.py +31 -0
  148. tests/test_init.py +12 -27
  149. tests/test_locale_negociator.py +6 -6
  150. tests/test_mapserverproxy_route_predicate.py +0 -2
  151. tests/test_raster.py +18 -5
  152. tests/test_wmstparsing.py +7 -8
  153. c2cgeoportal_geoportal/scaffolds/__init__.py +0 -226
  154. c2cgeoportal_geoportal/scaffolds/create/+dot+dockerignore_tmpl +0 -11
  155. c2cgeoportal_geoportal/scaffolds/create/+dot+github/workflows/ci.yaml_tmpl +0 -56
  156. c2cgeoportal_geoportal/scaffolds/create/+dot+gitignore_tmpl +0 -12
  157. c2cgeoportal_geoportal/scaffolds/create/build_tmpl +0 -144
  158. c2cgeoportal_geoportal/scaffolds/create/docker-compose-lib.yaml_tmpl +0 -302
  159. c2cgeoportal_geoportal/scaffolds/create/docker-compose.override.sample.yaml_tmpl +0 -54
  160. c2cgeoportal_geoportal/scaffolds/create/env.default_tmpl +0 -49
  161. c2cgeoportal_geoportal/scaffolds/create/env.project_tmpl +0 -39
  162. c2cgeoportal_geoportal/scaffolds/create/geoportal/+dot+dockerignore_tmpl +0 -5
  163. c2cgeoportal_geoportal/scaffolds/create/geoportal/+dot+eslintrc_tmpl +0 -19
  164. c2cgeoportal_geoportal/scaffolds/create/geoportal/+package+_geoportal/__init__.py_tmpl +0 -48
  165. c2cgeoportal_geoportal/scaffolds/create/geoportal/+package+_geoportal/models.py_tmpl +0 -10
  166. c2cgeoportal_geoportal/scaffolds/create/geoportal/+package+_geoportal/static/images/favicon.ico +0 -0
  167. c2cgeoportal_geoportal/scaffolds/create/geoportal/+package+_geoportal/static/robot.txt +0 -3
  168. c2cgeoportal_geoportal/scaffolds/create/geoportal/+package+_geoportal/static-ngeo/api/index.js_tmpl +0 -37
  169. c2cgeoportal_geoportal/scaffolds/create/geoportal/+package+_geoportal/static-ngeo/js/+package+module.js_tmpl +0 -22
  170. c2cgeoportal_geoportal/scaffolds/create/geoportal/production.ini_tmpl +0 -106
  171. c2cgeoportal_geoportal/scaffolds/create/geoportal/requirements.txt +0 -2
  172. c2cgeoportal_geoportal/scaffolds/create/geoportal/setup.py_tmpl +0 -18
  173. c2cgeoportal_geoportal/scaffolds/create/geoportal/tsconfig.json_tmpl +0 -9
  174. c2cgeoportal_geoportal/scaffolds/create/geoportal/vars.yaml_tmpl +0 -224
  175. c2cgeoportal_geoportal/scaffolds/create/geoportal/webpack.api.js_tmpl +0 -71
  176. c2cgeoportal_geoportal/scaffolds/create/mapserver/demo.map.tmpl_tmpl +0 -262
  177. c2cgeoportal_geoportal/scaffolds/create/mapserver/tinyows.xml +0 -36
  178. c2cgeoportal_geoportal/scaffolds/create/print/print-apps/+package+/config.yaml +0 -166
  179. c2cgeoportal_geoportal/scaffolds/create/print/print-apps/+package+/legend.jrxml +0 -27
  180. c2cgeoportal_geoportal/scaffolds/create/qgisserver/geomapfish.yaml.tmpl_tmpl +0 -29
  181. c2cgeoportal_geoportal/scaffolds/create/scripts/publish-docker +0 -124
  182. c2cgeoportal_geoportal/scaffolds/create/setup.cfg_tmpl +0 -3
  183. c2cgeoportal_geoportal/scaffolds/create/spell-ignore-words.txt +0 -1
  184. c2cgeoportal_geoportal/scaffolds/create/tilegeneration/config.yaml.tmpl_tmpl +0 -169
  185. c2cgeoportal_geoportal/scaffolds/create/yamllint.yaml +0 -11
  186. c2cgeoportal_geoportal/scaffolds/update/+dot+upgrade.yaml_tmpl +0 -171
  187. c2cgeoportal_geoportal/scaffolds/update/CONST_CHANGELOG.txt_tmpl +0 -64
  188. c2cgeoportal_geoportal/scaffolds/update/geoportal/CONST_vars.yaml_tmpl +0 -783
  189. c2cgeoportal_geoportal/templates/dynamic.js +0 -21
  190. c2cgeoportal_geoportal-2.5.0.100.dist-info/RECORD +0 -162
  191. tests/test_get_url.py +0 -96
  192. tests/test_lib.py +0 -77
  193. /c2cgeoportal_geoportal/{scaffolds/create/geoportal/+package+_geoportal/static/css/desktop.css → py.typed} +0 -0
  194. /c2cgeoportal_geoportal/scaffolds/{create/geoportal/Makefile_tmpl → advance_create/{{cookiecutter.project}}/geoportal/Makefile} +0 -0
  195. /c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/language_mapping +0 -0
  196. /c2cgeoportal_geoportal/scaffolds/{create → advance_create/{{cookiecutter.project}}}/geoportal/lingua-server.cfg +0 -0
  197. /c2cgeoportal_geoportal/scaffolds/{create/geoportal/+package+_geoportal → advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/views/__init__.py +0 -0
  198. /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
  199. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal/static/css/iframe_api.css → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/css/desktop.css} +0 -0
  200. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal/static/css/mobile.css → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/css/iframe_api.css} +0 -0
  201. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/static/images/banner_left.png +0 -0
  202. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/static/images/banner_right.png +0 -0
  203. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/static/images/blank.png +0 -0
  204. /c2cgeoportal_geoportal/scaffolds/create/{geoportal/+package+_geoportal → {{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal}/static/robot.txt.tmpl +0 -0
  205. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/data/TM_EUROPE_BORDERS-0.3.sql +0 -0
  206. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Arial.ttf +0 -0
  207. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Arialbd.ttf +0 -0
  208. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Arialbi.ttf +0 -0
  209. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Ariali.ttf +0 -0
  210. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/NotoSans-Bold.ttf +0 -0
  211. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/NotoSans-BoldItalic.ttf +0 -0
  212. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/NotoSans-Italic.ttf +0 -0
  213. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/NotoSans-Regular.ttf +0 -0
  214. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Verdana.ttf +0 -0
  215. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Verdanab.ttf +0 -0
  216. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Verdanai.ttf +0 -0
  217. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts/Verdanaz.ttf +0 -0
  218. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/fonts.conf +0 -0
  219. /c2cgeoportal_geoportal/scaffolds/create/{mapserver → {{cookiecutter.project}}/mapserver}/tinyows.xml.tmpl +0 -0
  220. /c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/logo.png +0 -0
  221. /c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/north.svg +0 -0
  222. /c2cgeoportal_geoportal/scaffolds/create/{print/print-apps/+package+ → {{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}}/results.jrxml +0 -0
  223. /c2cgeoportal_geoportal/scaffolds/create/{run_alembic.sh → {{cookiecutter.project}}/run_alembic.sh} +0 -0
  224. {c2cgeoportal_geoportal-2.5.0.100.dist-info → c2cgeoportal_geoportal-2.7.1.156.dist-info}/top_level.txt +0 -0
@@ -1,2 +0,0 @@
1
- #ptvsd # Remote debugging
2
- #wsgi-lineprof # Profiling
@@ -1,18 +0,0 @@
1
- #!/usr/bin/env python3
2
- # -*- coding: utf-8 -*-
3
-
4
- from setuptools import find_packages, setup
5
-
6
- setup(
7
- name="{{package}}_geoportal",
8
- version="1.0",
9
- description="{{package}}, a c2cgeoportal project",
10
- author="{{package}}",
11
- author_email="info@{{package}}.com",
12
- url="https://www.{{package}}.com/",
13
- install_requires=["c2cgeoportal_geoportal", "c2cgeoportal_admin",],
14
- packages=find_packages(),
15
- include_package_data=True,
16
- zip_safe=False,
17
- entry_points={"paste.app_factory": ["main = {{package}}_geoportal:main",], "console_scripts": [],},
18
- )
@@ -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,224 +0,0 @@
1
- ---
2
-
3
- extends: CONST_vars.yaml
4
-
5
- vars:
6
-
7
- srid: {{srid}}
8
-
9
- # The application's default language. This is the language used by
10
- # the application if no specific language is specified in the URLs.
11
- # This also defines the language used for the text search.
12
- default_locale_name: fr
13
-
14
- # The set of languages supported by the applications.
15
- available_locale_names:
16
- - en
17
- - fr
18
- - de
19
-
20
- # All the application interfaces used to create the apache rewrite rules
21
- interfaces:
22
- - name: desktop
23
- default: True
24
- - name: mobile
25
- - name: iframe_api
26
-
27
- interfaces_config:
28
- default:
29
- constants:
30
- defaultTheme: Demo
31
- defaultLang: '{default_locale_name}'
32
- ngeoWfsPermalinkOptions:
33
- wfsTypes:
34
- - featureType: fuel
35
- label: display_name
36
- - featureType: osm_scale
37
- label: display_name
38
- desktop_alt:
39
- constants:
40
- ngeoWfsPermalinkOptions:
41
- wfsTypes:
42
- - featureType: osm_hospitals
43
- label: name
44
- - featureType: osm_firestations
45
- label: name
46
- defaultFeatureNS: http://www.qgis.org/gml
47
- defaultFeaturePrefix: feature
48
- routes:
49
- ngeoPermalinkOgcserverUrl:
50
- name: mapserverproxy
51
- params:
52
- ogcserver: QGIS server
53
-
54
- admin_interface:
55
- # Default values for the admin interface's maps.
56
- map:
57
- baseLayers:
58
- - type_: "OSM"
59
- view:
60
- projection: 'EPSG:3857'
61
- center: [829170, 5933942]
62
- zoom: 7
63
- fitSource: false
64
- fitMaxZoom: 14
65
- focusOnly: false
66
-
67
- functionalities:
68
- # Functionalities that are made available to Mako templates.
69
- available_in_templates:
70
- - default_basemap
71
-
72
- layers:
73
- geometry_validation: True
74
-
75
- fulltextsearch:
76
- languages:
77
- fr: french
78
- en: english
79
- de: german
80
-
81
- # proxies:
82
- # http: https://someproxy
83
-
84
- shortener:
85
- # Used to send a confirmation email
86
- email_from: info@example.com
87
- email_subject: "Geoportal URL"
88
- email_body: |
89
- Hello,
90
-
91
- Somebody sent you the following link:
92
- {short_url}
93
-
94
- With the message:
95
- {message}
96
-
97
- Sincerely yours
98
- The GeoMapFish team
99
-
100
- smtp:
101
- # Used to send email from various feature
102
- host: smtp.example.com
103
- ssl: true
104
- user: <username>
105
- password: <password>
106
- starttls: false
107
-
108
- reset_password:
109
- # Used to send a reset password email
110
- email_from: info@camptocamp.com
111
- email_subject: New password generated for GeoMapFish
112
- email_body: |
113
- Hello {user},
114
-
115
- You have asked for a new password,
116
- the newly generated password is: {password}
117
-
118
- Sincerely yours
119
- The GeoMapFish team
120
-
121
- welcome_email:
122
- # Used to send a welcome email for new user
123
- email_from: info@camptocamp.com
124
- email_subject: Welcome to GeoMapFish
125
- email_body: |
126
- Hello {user},
127
-
128
- You have a new account on GeoMapFish: https://geomapfish-demo-2-5.camptocamp.com
129
- Your user name is: {user}
130
- Your password is: {password}
131
-
132
- Sincerely yours
133
- The GeoMapFish team
134
-
135
- # Checker configuration
136
- checker:
137
- fulltextsearch:
138
- search: text to search
139
- # print:
140
- # spec:
141
- # layout: "1 A4 portrait"
142
- # outputFormat: "pdf"
143
- # attributes:
144
- # title: ""
145
- # comments: ""
146
- # datasource: []
147
- # map:
148
- # projection: "EPSG:{{srid}}"
149
- # dpi: 254
150
- # rotation: 0
151
- # center: [2600000, 1200000]
152
- # scale: 100000
153
- # longitudeFirst: true
154
- # layers: []
155
- # legend: {}
156
- phantomjs:
157
- disable: [apihelp]
158
-
159
- check_collector:
160
- hosts: []
161
- # - display: Child:
162
- # url: {web_protocol}://{host}/child/wsgi
163
-
164
- update_paths:
165
- - admin_interface.available_functionalities
166
- - admin_interface.available_metadata
167
- - admin_interface.functionalities
168
- - admin_interface.available_in_templates
169
- - api
170
- - authorized_referers
171
- - cache.std.arguments
172
- - cache.obj
173
- - check_collector.disabled
174
- - check_collector.hosts
175
- - checker.fulltextsearch
176
- - checker.lang
177
- - checker.phantomjs
178
- - checker.print
179
- - checker.routes
180
- - checker.themes
181
- - content_security_policy.main
182
- - content_security_policy.admin
183
- - content_security_policy.apihelp
184
- - fulltextsearch
185
- - functionalities.available_in_templates
186
- - global_headers
187
- - headers.index
188
- - headers.api
189
- - headers.profile
190
- - headers.raster
191
- - headers.error
192
- - headers.themes
193
- - headers.config
194
- - headers.print
195
- - headers.fulltextsearch
196
- - headers.mapserver
197
- - headers.tinyows
198
- - headers.layers
199
- - headers.shortener
200
- - headers.login
201
- - interfaces_config.default.constants.ngeoWfsPermalinkOptions
202
- - interfaces_config.default.dynamic_constants
203
- - interfaces_config.default.static
204
- - interfaces_config.default.routes
205
- - interfaces_config.desktop.constants
206
- - interfaces_config.desktop.routes
207
- - interfaces_config.desktop_alt.constants
208
- - interfaces_config.desktop_alt.routes
209
- - interfaces_config.mobile.constants
210
- - interfaces_config.mobile_alt.constants
211
- - interfaces_config.iframe_api.constants
212
- - interfaces_config.oeedit.routes
213
- - interfaces_theme
214
- - resourceproxy
215
- - servers
216
- - shortener.allowed_hosts
217
- - sqlalchemy
218
- - sqlalchemy_slave
219
- - tinyowsproxy
220
-
221
- no_interpreted:
222
- - reset_password.email_body
223
- - shortener.email_body
224
- - welcome_email.email_body
@@ -1,71 +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('@camptocamp/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
- }
66
- },
67
- resolveLoader: {
68
- modules: ['/usr/lib/node_modules'],
69
- }
70
- };
71
- };
@@ -1,262 +0,0 @@
1
- # This file is used to render the examples layers, it can be deleted.
2
-
3
- # Layer without any restriction
4
- LAYER
5
- NAME "borders"
6
- TYPE POLYGON
7
- STATUS ON
8
- TOLERANCE 10
9
- TOLERANCEUNITS pixels
10
- TEMPLATE fooOnlyForWMSGetFeatureInfo # For GetFeatureInfo
11
- EXTENT -31 27 45 71 # Useful for better performance but not mandatory
12
- CONNECTIONTYPE postgis
13
- PROCESSING "CLOSE_CONNECTION=DEFER" # For performance
14
- CONNECTION "host=${PGHOST_SLAVE} port=${PGPORT_SLAVE} sslmode=${PGSSLMODE} user=${PGUSER} password=${PGPASSWORD} dbname=${PGDATABASE}"
15
- DATA "geom FROM (SELECT geo.* FROM data.europe_borders as geo) as foo USING unique gid USING srid=4326"
16
-
17
- PROJECTION
18
- "init=epsg:4326"
19
- END
20
-
21
- METADATA
22
- "wms_title" "Borders of Europe" # For WMS
23
- "wms_srs" "EPSG:{{srid}}" # For WMS
24
-
25
- "wfs_enable_request" "*" # Enable WFS for this layer
26
- "gml_include_items" "all" # For GetFeatureInfo and WFS GetFeature (QueryBuilder)
27
- "ows_geom_type" "multipolygon" # For returning geometries in GetFeatureInfo
28
- "ows_geometries" "geom" # For returning geometries in GetFeatureInfo
29
-
30
- "wms_metadataurl_href" "https://www.example.com/bar" # For metadata URL
31
- "wms_metadataurl_format" "text/html" # For metadata URL
32
- "wms_metadataurl_type" "TC211" # For metadata URL
33
- END
34
-
35
- CLASS
36
- NAME "borders"
37
- STYLE
38
- OUTLINECOLOR 0 0 0
39
- END
40
- END
41
- END
42
-
43
- # Layer with restriction area
44
- LAYER
45
- NAME "density"
46
- TYPE POLYGON
47
- STATUS ON
48
- TOLERANCE 10
49
- TOLERANCEUNITS pixels
50
- TEMPLATE fooOnlyForWMSGetFeatureInfo # For GetFeatureInfo
51
- EXTENT -31 27 45 71
52
- CONNECTIONTYPE postgis
53
- PROCESSING "CLOSE_CONNECTION=DEFER" # For performance
54
- CONNECTION "host=${PGHOST_SLAVE} port=${PGPORT_SLAVE} sslmode=${PGSSLMODE} user=${PGUSER} password=${PGPASSWORD} dbname=${PGDATABASE}"
55
- DATA "geom FROM (SELECT geo.*, (pop2005/(area*10)) AS density FROM data.europe_borders AS geo WHERE ARRAY[%role_ids%]::integer[] && ARRAY(${MAPSERVER_DATA_NOAREA_SUBSELECT} 'density')) as foo USING unique gid USING srid=4326"
56
-
57
- PROJECTION
58
- "init=epsg:4326"
59
- END
60
-
61
- VALIDATION
62
- # For secured layers
63
- "default_role_ids" ""
64
- # Or
65
- # "default_role_ids" "<id of the anonymous role>"
66
- "role_ids" "^-?[0-9,]*$"
67
- END
68
-
69
- METADATA
70
- "wms_title" "Density of population" # For WMS
71
- "wms_srs" "EPSG:{{srid}}" # For WMS
72
-
73
- "wfs_enable_request" "*" # Enable WFS for this layer
74
- "gml_include_items" "all" # For GetFeatureInfo and WFS GetFeature (QueryBuilder)
75
- "ows_geom_type" "multipolygon" # For returning geometries in GetFeatureInfo
76
- "ows_geometries" "geom" # For returning geometries in GetFeatureInfo
77
-
78
- "wms_metadataurl_href" "https://www.example.com/bar" # For metadata URL
79
- "wms_metadataurl_format" "text/html" # For metadata URL
80
- "wms_metadataurl_type" "TC211" # For metadata URL
81
- END
82
-
83
- LABELITEM "name"
84
-
85
- CLASS
86
- NAME "[ 6 - 50 ["
87
- EXPRESSION ([density] < 49.73)
88
- STYLE
89
- OUTLINECOLOR 0 0 0
90
- COLOR 254 229 217
91
- END
92
- LABEL
93
- COLOR 0 0 0
94
- FONT "noto_bold"
95
- TYPE truetype
96
- SIZE 8
97
- OUTLINEWIDTH 2
98
- POSITION AUTO
99
- PARTIALS FALSE
100
- OUTLINECOLOR 253 247 244
101
- MINFEATURESIZE 8
102
- MINDISTANCE 1000
103
- BUFFER 10
104
- END
105
- LEADER
106
- GRIDSTEP 400 # number of pixels between positions that are tested
107
- MAXDISTANCE 300 # distance in pixels that leader text can be drawn
108
- STYLE # normal line styles are supported
109
- COLOR 255 255 255
110
- WIDTH 3
111
- END
112
- STYLE # normal line styles are supported
113
- COLOR 0 0 0
114
- WIDTH 1
115
- END
116
- END
117
- END
118
- CLASS
119
- NAME "[ 50 - 92 ["
120
- EXPRESSION ([density] >= 49.73 AND [density] < 91.94)
121
- STYLE
122
- OUTLINECOLOR 0 0 0
123
- COLOR 252 174 145
124
- END
125
- LABEL
126
- COLOR 0 0 0
127
- FONT "noto_bold"
128
- TYPE truetype
129
- SIZE 8
130
- OUTLINEWIDTH 2
131
- POSITION AUTO
132
- PARTIALS FALSE
133
- OUTLINECOLOR 252 223 213
134
- MINFEATURESIZE 8
135
- MINDISTANCE 1000
136
- BUFFER 10
137
- END
138
- LEADER
139
- GRIDSTEP 400 # number of pixels between positions that are tested
140
- MAXDISTANCE 300 # distance in pixels that leader text can be drawn
141
- STYLE # normal line styles are supported
142
- COLOR 255 255 255
143
- WIDTH 3
144
- END
145
- STYLE # normal line styles are supported
146
- COLOR 0 0 0
147
- WIDTH 1
148
- END
149
- END
150
- END
151
- CLASS
152
- NAME "[ 92 - 115 ["
153
- EXPRESSION ([density] >= 91.94 AND [density] < 115.08)
154
- STYLE
155
- OUTLINECOLOR 0 0 0
156
- COLOR 251 106 74
157
- END
158
- LABEL
159
- COLOR 0 0 0
160
- FONT "noto_bold"
161
- TYPE truetype
162
- SIZE 8
163
- OUTLINEWIDTH 2
164
- POSITION AUTO
165
- PARTIALS FALSE
166
- OUTLINECOLOR 251 220 213
167
- MINFEATURESIZE 8
168
- MINDISTANCE 1000
169
- BUFFER 10
170
- END
171
- LEADER
172
- GRIDSTEP 40 # number of pixels between positions that are tested
173
- MAXDISTANCE 300 # distance in pixels that leader text can be drawn
174
- STYLE # normal line styles are supported
175
- COLOR 255 255 255
176
- WIDTH 3
177
- END
178
- STYLE # normal line styles are supported
179
- COLOR 0 0 0
180
- WIDTH 1
181
- END
182
- END
183
- END
184
- CLASS
185
- NAME "[ 115 - 210 ["
186
- EXPRESSION ([density] >= 115.08 AND [density] < 210.11)
187
- STYLE
188
- OUTLINECOLOR 0 0 0
189
- COLOR 222 45 38
190
- END
191
- LABEL
192
- COLOR 0 0 0
193
- FONT "noto_bold"
194
- TYPE truetype
195
- SIZE 8
196
- OUTLINEWIDTH 2
197
- POSITION AUTO
198
- PARTIALS FALSE
199
- OUTLINECOLOR 237 189 187
200
- MINFEATURESIZE 8
201
- MINDISTANCE 1000
202
- BUFFER 10
203
- END
204
- LEADER
205
- GRIDSTEP 40 # number of pixels between positions that are tested
206
- MAXDISTANCE 300 # distance in pixels that leader text can be drawn
207
- STYLE # normal line styles are supported
208
- COLOR 255 255 255
209
- WIDTH 3
210
- END
211
- STYLE # normal line styles are supported
212
- COLOR 0 0 0
213
- WIDTH 1
214
- END
215
- END
216
- END
217
- CLASS
218
- NAME "[ 210 - 18 475 ]"
219
- EXPRESSION ([density] >= 210 AND [density] <= 18475)
220
- STYLE
221
- OUTLINECOLOR 0 0 0
222
- COLOR 165 15 21
223
- END
224
- LABEL
225
- COLOR 0 0 0
226
- FONT "noto_bold"
227
- TYPE truetype
228
- SIZE 8
229
- OUTLINEWIDTH 2
230
- POSITION AUTO
231
- PARTIALS FALSE
232
- OUTLINECOLOR 208 184 185
233
- MINFEATURESIZE 8
234
- MINDISTANCE 1000
235
- BUFFER 10
236
- END
237
- LEADER
238
- GRIDSTEP 40 # number of pixels between positions that are tested
239
- MAXDISTANCE 300 # distance in pixels that leader text can be drawn
240
- STYLE # normal line styles are supported
241
- COLOR 255 255 255
242
- WIDTH 3
243
- END
244
- STYLE # normal line styles are supported
245
- COLOR 0 0 0
246
- WIDTH 1
247
- END
248
- END
249
- END
250
- END
251
-
252
- # Raster layer (with a tile index)
253
- LAYER
254
- NAME 'topo'
255
- GROUP 'plan'
256
- TYPE RASTER
257
- STATUS ON
258
- PROCESSING "RESAMPLE=AVERAGE"
259
- TILEINDEX "raster/topo"
260
- TILEITEM "LOCATION"
261
- MINSCALEDENOM 25000
262
- END
@@ -1,36 +0,0 @@
1
- <tinyows
2
- online_resource="://tinyows_proxy"
3
- schema_dir="/usr/share/tinyows/schema/"
4
- log="/var/log/tinyows.log"
5
- log_level="1"
6
- check_schema="0">
7
-
8
- <contact
9
- name="GeoMapFish"
10
- site="https://www.geomapfish.org/"
11
- email="geomapfish@googlegroups.com" />
12
-
13
- <metadata
14
- name="GeoMapFish TinyOWS Server"
15
- title="GeoMapFish TinyOWS Server" />
16
-
17
- <pg
18
- host="db"
19
- user="www-data"
20
- password="www-data"
21
- port="5432"
22
- dbname="geomapfish_tests" />
23
-
24
- <!--
25
- <layer
26
- retrievable="1"
27
- writable="1"
28
- ns_prefix="tows"
29
- ns_uri="https://www.tinyows.org/"
30
- name="point"
31
- schema="edit"
32
- table="point"
33
- title="Points"
34
- pkey="id" />
35
- -->
36
- </tinyows>