c2cgeoportal-geoportal 2.3.5.79__py3-none-any.whl → 2.9rc44__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.
- c2cgeoportal_geoportal/__init__.py +960 -0
- c2cgeoportal_geoportal/lib/__init__.py +256 -0
- c2cgeoportal_geoportal/lib/authentication.py +250 -0
- c2cgeoportal_geoportal/lib/bashcolor.py +46 -0
- c2cgeoportal_geoportal/lib/cacheversion.py +77 -0
- c2cgeoportal_geoportal/lib/caching.py +176 -0
- c2cgeoportal_geoportal/lib/check_collector.py +80 -0
- c2cgeoportal_geoportal/lib/checker.py +295 -0
- c2cgeoportal_geoportal/lib/common_headers.py +172 -0
- c2cgeoportal_geoportal/lib/dbreflection.py +266 -0
- c2cgeoportal_geoportal/lib/filter_capabilities.py +360 -0
- c2cgeoportal_geoportal/lib/fulltextsearch.py +50 -0
- c2cgeoportal_geoportal/lib/functionality.py +166 -0
- c2cgeoportal_geoportal/lib/headers.py +62 -0
- c2cgeoportal_geoportal/lib/i18n.py +38 -0
- c2cgeoportal_geoportal/lib/layers.py +132 -0
- c2cgeoportal_geoportal/lib/lingva_extractor.py +937 -0
- c2cgeoportal_geoportal/lib/loader.py +57 -0
- c2cgeoportal_geoportal/lib/metrics.py +117 -0
- c2cgeoportal_geoportal/lib/oauth2.py +1186 -0
- c2cgeoportal_geoportal/lib/oidc.py +304 -0
- c2cgeoportal_geoportal/lib/wmstparsing.py +353 -0
- c2cgeoportal_geoportal/lib/xsd.py +166 -0
- c2cgeoportal_geoportal/py.typed +0 -0
- c2cgeoportal_geoportal/resources.py +49 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/ci/config.yaml +26 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/cookiecutter.json +18 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/.dockerignore +6 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/.eslintrc.yaml +19 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/.prospector.yaml +30 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/Dockerfile +75 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/Makefile +6 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/alembic.ini +58 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/alembic.yaml +19 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/development.ini +121 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/gunicorn.conf.py +139 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/language_mapping +3 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/lingva-client.cfg +5 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/lingva-server.cfg +6 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/production.ini +38 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/requirements.txt +2 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/setup.py +25 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/webpack.api.js +41 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/webpack.apps.js +64 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/webpack.commons.js +11 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/webpack.config.js +22 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/__init__.py +42 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/authentication.py +10 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/dev.py +14 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/models.py +8 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/multi_organization.py +7 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/resources.py +11 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static-ngeo/api/index.js +12 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static-ngeo/js/{{cookiecutter.package}}module.js +25 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/subscribers.py +39 -0
- c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/views/__init__.py +0 -0
- c2cgeoportal_geoportal/scaffolds/advance_update/cookiecutter.json +18 -0
- c2cgeoportal_geoportal/scaffolds/advance_update/{{cookiecutter.project}}/geoportal/CONST_Makefile +121 -0
- c2cgeoportal_geoportal/scaffolds/create/cookiecutter.json +18 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.dockerignore +14 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.editorconfig +17 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/main.yaml +73 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/rebuild.yaml +50 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/update_l10n.yaml +66 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.gitignore +16 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.pre-commit-config.yaml +35 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.prettierignore +1 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.prettierrc.yaml +2 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/Dockerfile +75 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/Makefile +70 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/README.rst +29 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/build +179 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/ci/config.yaml +22 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/ci/docker-compose-check +25 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/ci/requirements.txt +2 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose-db.yaml +24 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose-lib.yaml +513 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose-qgis.yaml +21 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose.override.sample.yaml +65 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose.yaml +121 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/env.default +102 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/env.project +69 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/vars.yaml +430 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/locale/en/LC_MESSAGES/{{cookiecutter.package}}_geoportal-client.po +6 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/css/desktop.css +0 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/css/iframe_api.css +0 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/css/mobile.css +0 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/banner_left.png +0 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/banner_right.png +0 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/blank.png +0 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/markers/marker-blue.png +0 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/markers/marker-gold.png +0 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/markers/marker-green.png +0 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/markers/marker.png +0 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/robot.txt.tmpl +3 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/data/Readme.txt +69 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/data/TM_EUROPE_BORDERS-0.3.sql +70 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/demo.map.tmpl +224 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Arial.ttf +0 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Arialbd.ttf +0 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Arialbi.ttf +0 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Ariali.ttf +0 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/NotoSans-Bold.ttf +0 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/NotoSans-BoldItalic.ttf +0 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/NotoSans-Italic.ttf +0 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/NotoSans-Regular.ttf +0 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Verdana.ttf +0 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Verdanab.ttf +0 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Verdanai.ttf +0 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Verdanaz.ttf +0 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts.conf +12 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/mapserver.conf +16 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/mapserver.map.tmpl +87 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/tinyows.xml.tmpl +36 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/A3_Landscape.jrxml +207 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/A3_Portrait.jrxml +185 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/A4_Landscape.jrxml +200 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/A4_Portrait.jrxml +170 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/config.yaml.tmpl +175 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/legend.jrxml +109 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/localisation.properties +4 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/localisation_fr.properties +4 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/logo.png +0 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/north.svg +93 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/results.jrxml +25 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/project.yaml +18 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/pyproject.toml +7 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/qgisserver/pg_service.conf.tmpl +15 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/run_alembic.sh +11 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/scripts/db-backup +126 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/scripts/db-restore +132 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/setup.cfg +7 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/spell-ignore-words.txt +5 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/tests/__init__.py +0 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/tests/test_app.py +78 -0
- c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/tilegeneration/config.yaml.tmpl +195 -0
- c2cgeoportal_geoportal/scaffolds/update/cookiecutter.json +18 -0
- c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/.upgrade.yaml +67 -0
- c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/CONST_CHANGELOG.txt +304 -0
- c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/CONST_create_template/tests/test_testapp.py +48 -0
- c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/geoportal/.CONST_vars.yaml.swp +0 -0
- c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/geoportal/CONST_config-schema.yaml +927 -0
- c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/geoportal/CONST_vars.yaml +1503 -0
- c2cgeoportal_geoportal/scripts/__init__.py +64 -0
- c2cgeoportal_geoportal/scripts/c2cupgrade.py +879 -0
- c2cgeoportal_geoportal/scripts/create_demo_theme.py +83 -0
- c2cgeoportal_geoportal/scripts/manage_users.py +140 -0
- c2cgeoportal_geoportal/scripts/pcreate.py +296 -0
- c2cgeoportal_geoportal/scripts/theme2fts.py +347 -0
- c2cgeoportal_geoportal/scripts/urllogin.py +81 -0
- c2cgeoportal_geoportal/templates/login.html +90 -0
- c2cgeoportal_geoportal/templates/notlogin.html +62 -0
- c2cgeoportal_geoportal/templates/testi18n.html +12 -0
- c2cgeoportal_geoportal/views/__init__.py +59 -0
- c2cgeoportal_geoportal/views/dev.py +57 -0
- c2cgeoportal_geoportal/views/dynamic.py +208 -0
- c2cgeoportal_geoportal/views/entry.py +174 -0
- c2cgeoportal_geoportal/views/fulltextsearch.py +189 -0
- c2cgeoportal_geoportal/views/geometry_processing.py +75 -0
- c2cgeoportal_geoportal/views/i18n.py +129 -0
- c2cgeoportal_geoportal/views/layers.py +713 -0
- c2cgeoportal_geoportal/views/login.py +684 -0
- c2cgeoportal_geoportal/views/mapserverproxy.py +234 -0
- c2cgeoportal_geoportal/views/memory.py +90 -0
- c2cgeoportal_geoportal/views/ogcproxy.py +120 -0
- c2cgeoportal_geoportal/views/pdfreport.py +245 -0
- c2cgeoportal_geoportal/views/printproxy.py +143 -0
- c2cgeoportal_geoportal/views/profile.py +192 -0
- c2cgeoportal_geoportal/views/proxy.py +261 -0
- c2cgeoportal_geoportal/views/raster.py +233 -0
- c2cgeoportal_geoportal/views/resourceproxy.py +73 -0
- c2cgeoportal_geoportal/views/shortener.py +152 -0
- c2cgeoportal_geoportal/views/theme.py +1322 -0
- c2cgeoportal_geoportal/views/tinyowsproxy.py +189 -0
- c2cgeoportal_geoportal/views/vector_tiles.py +83 -0
- {c2cgeoportal_geoportal-2.3.5.79.dist-info → c2cgeoportal_geoportal-2.9rc44.dist-info}/METADATA +21 -24
- c2cgeoportal_geoportal-2.9rc44.dist-info/RECORD +193 -0
- {c2cgeoportal_geoportal-2.3.5.79.dist-info → c2cgeoportal_geoportal-2.9rc44.dist-info}/WHEEL +1 -1
- c2cgeoportal_geoportal-2.9rc44.dist-info/entry_points.txt +28 -0
- c2cgeoportal_geoportal-2.9rc44.dist-info/top_level.txt +2 -0
- tests/__init__.py +100 -0
- tests/test_cachebuster.py +71 -0
- tests/test_caching.py +275 -0
- tests/test_checker.py +85 -0
- tests/test_decimaljson.py +47 -0
- tests/test_headerstween.py +64 -0
- tests/test_i18n.py +31 -0
- tests/test_init.py +193 -0
- tests/test_locale_negociator.py +69 -0
- tests/test_mapserverproxy_route_predicate.py +64 -0
- tests/test_raster.py +267 -0
- tests/test_wmstparsing.py +238 -0
- tests/xmlstr.py +103 -0
- c2cgeoportal_geoportal-2.3.5.79.dist-info/DESCRIPTION.rst +0 -8
- c2cgeoportal_geoportal-2.3.5.79.dist-info/RECORD +0 -7
- c2cgeoportal_geoportal-2.3.5.79.dist-info/entry_points.txt +0 -22
- c2cgeoportal_geoportal-2.3.5.79.dist-info/metadata.json +0 -1
- c2cgeoportal_geoportal-2.3.5.79.dist-info/top_level.txt +0 -1
@@ -0,0 +1,189 @@
|
|
1
|
+
# Copyright (c) 2015-2024, Camptocamp SA
|
2
|
+
# All rights reserved.
|
3
|
+
|
4
|
+
# Redistribution and use in source and binary forms, with or without
|
5
|
+
# modification, are permitted provided that the following conditions are met:
|
6
|
+
|
7
|
+
# 1. Redistributions of source code must retain the above copyright notice, this
|
8
|
+
# list of conditions and the following disclaimer.
|
9
|
+
# 2. Redistributions in binary form must reproduce the above copyright notice,
|
10
|
+
# this list of conditions and the following disclaimer in the documentation
|
11
|
+
# and/or other materials provided with the distribution.
|
12
|
+
|
13
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
14
|
+
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
15
|
+
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
16
|
+
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
17
|
+
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
18
|
+
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
19
|
+
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
20
|
+
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
21
|
+
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
22
|
+
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
23
|
+
|
24
|
+
# The views and conclusions contained in the software and documentation are those
|
25
|
+
# of the authors and should not be interpreted as representing official policies,
|
26
|
+
# either expressed or implied, of the FreeBSD Project.
|
27
|
+
|
28
|
+
|
29
|
+
import logging
|
30
|
+
from typing import Any
|
31
|
+
|
32
|
+
import pyramid.request
|
33
|
+
from defusedxml import ElementTree
|
34
|
+
from pyramid.httpexceptions import HTTPBadRequest, HTTPForbidden, HTTPInternalServerError, HTTPUnauthorized
|
35
|
+
from pyramid.view import view_config
|
36
|
+
|
37
|
+
from c2cgeoportal_commons import models
|
38
|
+
from c2cgeoportal_commons.lib.url import Url
|
39
|
+
from c2cgeoportal_commons.models import main
|
40
|
+
from c2cgeoportal_geoportal.lib.common_headers import Cache
|
41
|
+
from c2cgeoportal_geoportal.lib.filter_capabilities import (
|
42
|
+
filter_wfst_capabilities,
|
43
|
+
normalize_tag,
|
44
|
+
normalize_typename,
|
45
|
+
)
|
46
|
+
from c2cgeoportal_geoportal.lib.layers import get_writable_layers
|
47
|
+
from c2cgeoportal_geoportal.views.ogcproxy import OGCProxy
|
48
|
+
|
49
|
+
_LOG = logging.getLogger(__name__)
|
50
|
+
|
51
|
+
|
52
|
+
class TinyOWSProxy(OGCProxy):
|
53
|
+
"""Proxy for the tiny OWN server."""
|
54
|
+
|
55
|
+
def __init__(self, request: pyramid.request.Request):
|
56
|
+
OGCProxy.__init__(self, request, has_default_ogc_server=True)
|
57
|
+
|
58
|
+
assert models.DBSession is not None
|
59
|
+
self.settings = request.registry.settings.get("tinyowsproxy", {})
|
60
|
+
|
61
|
+
assert "tinyows_url" in self.settings, "tinyowsproxy.tinyows_url must be set"
|
62
|
+
self.ogc_server = (
|
63
|
+
models.DBSession.query(main.OGCServer)
|
64
|
+
.filter(main.OGCServer.name == self.settings["ogc_server"])
|
65
|
+
.one()
|
66
|
+
)
|
67
|
+
|
68
|
+
self.user = self.request.user
|
69
|
+
|
70
|
+
# params hold the parameters we are going to send to TinyOWS
|
71
|
+
self.lower_params = self._get_lower_params(dict(self.request.params))
|
72
|
+
|
73
|
+
@view_config(route_name="tinyowsproxy") # type: ignore[misc]
|
74
|
+
def proxy(self) -> pyramid.response.Response:
|
75
|
+
if self.user is None:
|
76
|
+
raise HTTPUnauthorized(
|
77
|
+
"Authentication required", headers=[("WWW-Authenticate", 'Basic realm="TinyOWS"')]
|
78
|
+
)
|
79
|
+
|
80
|
+
operation = self.lower_params.get("request")
|
81
|
+
typenames = (
|
82
|
+
{normalize_typename(self.lower_params["typename"])} if "typename" in self.lower_params else set()
|
83
|
+
)
|
84
|
+
|
85
|
+
method = self.request.method
|
86
|
+
if method == "POST":
|
87
|
+
try:
|
88
|
+
(operation, typenames_post) = self._parse_body(self.request.body)
|
89
|
+
except Exception:
|
90
|
+
_LOG.exception("Error while parsing POST request body")
|
91
|
+
raise HTTPBadRequest( # pylint: disable=raise-missing-from
|
92
|
+
"Error parsing the request (see logs for more details)"
|
93
|
+
)
|
94
|
+
|
95
|
+
typenames = typenames.union(typenames_post)
|
96
|
+
|
97
|
+
if operation is None or operation == "":
|
98
|
+
operation = "getcapabilities"
|
99
|
+
|
100
|
+
if operation == "describefeaturetype":
|
101
|
+
# for DescribeFeatureType we require that exactly one type-name
|
102
|
+
# is given, otherwise we would have to filter the result
|
103
|
+
if len(typenames) != 1:
|
104
|
+
raise HTTPBadRequest("Exactly one type-name must be given for DescribeFeatureType requests")
|
105
|
+
|
106
|
+
if not self._is_allowed(typenames):
|
107
|
+
raise HTTPForbidden("No access rights for at least one of the given type-names")
|
108
|
+
|
109
|
+
# we want clients to cache GetCapabilities and DescribeFeatureType req.
|
110
|
+
use_cache = method == "GET" and operation in ("getcapabilities", "describefeaturetype")
|
111
|
+
cache_control = Cache.PRIVATE if use_cache else Cache.PRIVATE_NO
|
112
|
+
|
113
|
+
url = Url(self.settings.get("tinyows_url"))
|
114
|
+
|
115
|
+
response = self._proxy_callback(
|
116
|
+
operation,
|
117
|
+
cache_control,
|
118
|
+
url=url,
|
119
|
+
params=dict(self.request.params),
|
120
|
+
cache=use_cache,
|
121
|
+
headers=self._get_headers(),
|
122
|
+
body=self.request.body,
|
123
|
+
)
|
124
|
+
return response
|
125
|
+
|
126
|
+
def _is_allowed(self, typenames: set[str]) -> bool:
|
127
|
+
"""Check if the current user has the rights to access the given type-names."""
|
128
|
+
writable_layers = set()
|
129
|
+
for gmflayer in list(get_writable_layers(self.request, [self.ogc_server.id]).values()):
|
130
|
+
assert isinstance(gmflayer, main.LayerWMS)
|
131
|
+
for ogclayer in gmflayer.layer.split(","):
|
132
|
+
writable_layers.add(ogclayer.lower())
|
133
|
+
return typenames.issubset(writable_layers)
|
134
|
+
|
135
|
+
def _get_headers(self) -> dict[str, str]:
|
136
|
+
headers = OGCProxy.get_headers(self)
|
137
|
+
if "tinyows_host" in self.settings:
|
138
|
+
headers["Host"] = self.settings.get("tinyows_host")
|
139
|
+
return headers
|
140
|
+
|
141
|
+
def _proxy_callback(
|
142
|
+
self, operation: str, cache_control: Cache, *args: Any, **kwargs: Any
|
143
|
+
) -> pyramid.response.Response:
|
144
|
+
response = self._proxy(*args, **kwargs)
|
145
|
+
content = response.content.decode()
|
146
|
+
|
147
|
+
errors: set[str] = set()
|
148
|
+
url = super()._get_wfs_url(errors)
|
149
|
+
if url is None:
|
150
|
+
_LOG.error("Error getting the URL:\n%s", "\n".join(errors))
|
151
|
+
raise HTTPInternalServerError()
|
152
|
+
|
153
|
+
if operation == "getcapabilities":
|
154
|
+
content = filter_wfst_capabilities(content, url, self.request)
|
155
|
+
|
156
|
+
content = self._filter_urls(
|
157
|
+
content, self.settings.get("online_resource"), self.settings.get("proxy_online_resource")
|
158
|
+
)
|
159
|
+
|
160
|
+
return self._build_response(response, content.encode(), cache_control, "tinyows")
|
161
|
+
|
162
|
+
@staticmethod
|
163
|
+
def _filter_urls(content: str, online_resource: str, proxy_online_resource: str) -> str:
|
164
|
+
if online_resource is not None and proxy_online_resource is not None:
|
165
|
+
return content.replace(online_resource, proxy_online_resource)
|
166
|
+
return content
|
167
|
+
|
168
|
+
@staticmethod
|
169
|
+
def _parse_body(body: str) -> tuple[str, set[str]]:
|
170
|
+
"""Read the WFS-T request body and extract the referenced type-names and request method."""
|
171
|
+
xml = ElementTree.fromstring(body)
|
172
|
+
wfs_request = normalize_tag(xml.tag)
|
173
|
+
|
174
|
+
# get the type names
|
175
|
+
typenames: set[str] = set()
|
176
|
+
for child in xml:
|
177
|
+
tag = normalize_tag(child.tag)
|
178
|
+
if tag == "typename":
|
179
|
+
typenames.add(child.text)
|
180
|
+
elif tag in ("query", "lock", "update", "delete"):
|
181
|
+
typenames.add(child.get("typeName"))
|
182
|
+
elif tag == "insert":
|
183
|
+
for insert_child in child:
|
184
|
+
typenames.add(normalize_tag(insert_child.tag))
|
185
|
+
|
186
|
+
# remove the namespace from the typenames
|
187
|
+
typenames = {normalize_typename(t) for t in typenames}
|
188
|
+
|
189
|
+
return (wfs_request, typenames)
|
@@ -0,0 +1,83 @@
|
|
1
|
+
# Copyright (c) 2021-2024, Camptocamp SA
|
2
|
+
# All rights reserved.
|
3
|
+
|
4
|
+
# Redistribution and use in source and binary forms, with or without
|
5
|
+
# modification, are permitted provided that the following conditions are met:
|
6
|
+
|
7
|
+
# 1. Redistributions of source code must retain the above copyright notice, this
|
8
|
+
# list of conditions and the following disclaimer.
|
9
|
+
# 2. Redistributions in binary form must reproduce the above copyright notice,
|
10
|
+
# this list of conditions and the following disclaimer in the documentation
|
11
|
+
# and/or other materials provided with the distribution.
|
12
|
+
|
13
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
14
|
+
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
15
|
+
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
16
|
+
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
17
|
+
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
18
|
+
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
19
|
+
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
20
|
+
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
21
|
+
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
22
|
+
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
23
|
+
|
24
|
+
# The views and conclusions contained in the software and documentation are those
|
25
|
+
# of the authors and should not be interpreted as representing official policies,
|
26
|
+
# either expressed or implied, of the FreeBSD Project.
|
27
|
+
|
28
|
+
import logging
|
29
|
+
|
30
|
+
import sqlalchemy
|
31
|
+
from pyramid.httpexceptions import HTTPNotFound
|
32
|
+
from pyramid.request import Request
|
33
|
+
from pyramid.response import Response
|
34
|
+
from pyramid.view import view_config
|
35
|
+
from tilecloud import TileCoord
|
36
|
+
from tilecloud.grid.free import FreeTileGrid
|
37
|
+
|
38
|
+
from c2cgeoportal_commons.models import DBSession, main
|
39
|
+
from c2cgeoportal_geoportal.lib.common_headers import Cache, set_common_headers
|
40
|
+
|
41
|
+
_LOG = logging.getLogger(__name__)
|
42
|
+
|
43
|
+
|
44
|
+
class VectorTilesViews:
|
45
|
+
"""All the views concerning the vector tiles."""
|
46
|
+
|
47
|
+
def __init__(self, request: Request) -> None:
|
48
|
+
self.request = request
|
49
|
+
|
50
|
+
@view_config(route_name="vector_tiles") # type: ignore[misc]
|
51
|
+
def vector_tiles(self) -> Response:
|
52
|
+
assert DBSession is not None
|
53
|
+
|
54
|
+
settings = self.request.registry.settings["vector_tiles"]
|
55
|
+
grid = FreeTileGrid(settings["resolutions"], max_extent=settings["extent"], tile_size=256)
|
56
|
+
|
57
|
+
layer_name = self.request.matchdict["layer_name"]
|
58
|
+
|
59
|
+
z = int(self.request.matchdict["z"])
|
60
|
+
x = int(self.request.matchdict["x"])
|
61
|
+
y = int(self.request.matchdict["y"])
|
62
|
+
coord = TileCoord(z, x, y)
|
63
|
+
minx, miny, maxx, maxy = grid.extent(coord, 0)
|
64
|
+
|
65
|
+
layer = (
|
66
|
+
DBSession.query(main.LayerVectorTiles.sql)
|
67
|
+
.filter(main.LayerVectorTiles.name == layer_name)
|
68
|
+
.one_or_none()
|
69
|
+
)
|
70
|
+
if layer is None:
|
71
|
+
raise HTTPNotFound(f"Not found any vector tile layer named {layer_name}")
|
72
|
+
|
73
|
+
raw_sql = layer[0].format(
|
74
|
+
envelope=f"ST_MakeEnvelope({minx}, {miny}, {maxx}, {maxy}, {settings['srid']})"
|
75
|
+
)
|
76
|
+
|
77
|
+
result = DBSession.execute(sqlalchemy.text(raw_sql))
|
78
|
+
for row in result: # pylint: disable=not-an-iterable
|
79
|
+
set_common_headers(self.request, "vector_tiles", Cache.PUBLIC)
|
80
|
+
response = self.request.response
|
81
|
+
response.content_type = "application/vnd.mapbox-vector-tile"
|
82
|
+
response.body = row[0].tobytes()
|
83
|
+
return response
|
{c2cgeoportal_geoportal-2.3.5.79.dist-info → c2cgeoportal_geoportal-2.9rc44.dist-info}/METADATA
RENAMED
@@ -1,45 +1,45 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.1
|
2
2
|
Name: c2cgeoportal-geoportal
|
3
|
-
Version: 2.
|
3
|
+
Version: 2.9rc44
|
4
4
|
Summary: c2cgeoportal geoportal
|
5
|
-
Home-page:
|
5
|
+
Home-page: https://github.com/camptocamp/c2cgeoportal/
|
6
6
|
Author: Camptocamp
|
7
7
|
Author-email: info@camptocamp.com
|
8
|
-
License: UNKNOWN
|
9
8
|
Keywords: web gis geoportail c2cgeoportal geocommune pyramid
|
10
|
-
|
9
|
+
Classifier: Development Status :: 6 - Mature
|
10
|
+
Classifier: Environment :: Web Environment
|
11
|
+
Classifier: Framework :: Pyramid
|
12
|
+
Classifier: Intended Audience :: Other Audience
|
13
|
+
Classifier: License :: OSI Approved :: BSD License
|
14
|
+
Classifier: Operating System :: OS Independent
|
11
15
|
Classifier: Programming Language :: Python
|
12
16
|
Classifier: Programming Language :: Python :: 3
|
13
|
-
Classifier: Programming Language :: Python :: 3.
|
14
|
-
Classifier:
|
15
|
-
Classifier:
|
16
|
-
|
17
|
-
|
17
|
+
Classifier: Programming Language :: Python :: 3.10
|
18
|
+
Classifier: Topic :: Scientific/Engineering :: GIS
|
19
|
+
Classifier: Typing :: Typed
|
20
|
+
Requires-Python: >=3.10
|
21
|
+
Description-Content-Type: text/markdown
|
18
22
|
Requires-Dist: Fiona
|
19
23
|
Requires-Dist: GeoAlchemy2
|
20
24
|
Requires-Dist: Mako
|
21
|
-
Requires-Dist: OWSLib
|
22
|
-
Requires-Dist: PasteScript
|
25
|
+
Requires-Dist: OWSLib >=0.6.0
|
23
26
|
Requires-Dist: PyYAML
|
24
27
|
Requires-Dist: SQLAlchemy
|
25
28
|
Requires-Dist: Shapely
|
26
29
|
Requires-Dist: alembic
|
27
30
|
Requires-Dist: bottle
|
28
|
-
Requires-Dist: c2c.template (>=2.0.7)
|
29
31
|
Requires-Dist: c2cgeoportal-commons[upgrade]
|
30
32
|
Requires-Dist: c2cwsgiutils
|
31
|
-
Requires-Dist: dateutils
|
32
33
|
Requires-Dist: defusedxml
|
33
|
-
Requires-Dist: dogpile.cache
|
34
|
+
Requires-Dist: dogpile.cache >=0.6
|
34
35
|
Requires-Dist: geojson
|
35
|
-
Requires-Dist: httplib2
|
36
|
-
Requires-Dist: ipcalc
|
37
36
|
Requires-Dist: isodate
|
38
|
-
Requires-Dist:
|
37
|
+
Requires-Dist: lingva
|
39
38
|
Requires-Dist: papyrus
|
40
|
-
Requires-Dist: psycopg2
|
39
|
+
Requires-Dist: psycopg2
|
41
40
|
Requires-Dist: pycryptodome
|
42
|
-
Requires-Dist:
|
41
|
+
Requires-Dist: pyotp
|
42
|
+
Requires-Dist: pyramid
|
43
43
|
Requires-Dist: pyramid-debugtoolbar
|
44
44
|
Requires-Dist: pyramid-mako
|
45
45
|
Requires-Dist: pyramid-multiauth
|
@@ -48,14 +48,11 @@ Requires-Dist: python-dateutil
|
|
48
48
|
Requires-Dist: rasterio
|
49
49
|
Requires-Dist: redis
|
50
50
|
Requires-Dist: requests
|
51
|
-
Requires-Dist: simplejson
|
52
51
|
Requires-Dist: transaction
|
53
52
|
|
54
53
|
c2cgeoportal is the server part of `GeoMapFish <http://geomapfish.org/>`_,
|
55
|
-
the client part is `ngeo <https://github.com/camptocamp/ngeo/>`_
|
56
|
-
the old client and API part is `CGXP <https://github.com/camptocamp/cgxp/>`_.
|
54
|
+
the client part is `ngeo <https://github.com/camptocamp/ngeo/>`_.
|
57
55
|
|
58
56
|
Read the `Documentation <https://camptocamp.github.io/c2cgeoportal/master/>`_.
|
59
57
|
|
60
58
|
`Sources <https://github.com/camptocamp/c2cgeoportal/>`_
|
61
|
-
|
@@ -0,0 +1,193 @@
|
|
1
|
+
c2cgeoportal_geoportal/__init__.py,sha256=l4Ld3FspBwhCvinvhgLvLl3cHgxD1txgW9TkW3v7aG0,38629
|
2
|
+
c2cgeoportal_geoportal/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3
|
+
c2cgeoportal_geoportal/resources.py,sha256=n42Gns8DKw32GstDoUdNgud6xdAidaRwgAuNHqGH-c4,2158
|
4
|
+
c2cgeoportal_geoportal/lib/__init__.py,sha256=_67fO_aXQZRnxPXcShHBcs38mdYU5ch0FNX89RwMTgA,10431
|
5
|
+
c2cgeoportal_geoportal/lib/authentication.py,sha256=Bfws50nNiboVa2qm3Hdy_-38tygnlB8sX5AW9Zfikw0,9833
|
6
|
+
c2cgeoportal_geoportal/lib/bashcolor.py,sha256=LQgOgtFUvgJ4Ed3-YW3RPjvhBMZBbXBBkUZKE4unRCI,1889
|
7
|
+
c2cgeoportal_geoportal/lib/cacheversion.py,sha256=jc8jIKH_yE1NReC2kvUkTkpGERHObdWjPp6kGCWAU1o,3040
|
8
|
+
c2cgeoportal_geoportal/lib/caching.py,sha256=BZzIjgEUfv7puP8XvWY6PAni7HybcLMZrGam3D3mCyA,7124
|
9
|
+
c2cgeoportal_geoportal/lib/check_collector.py,sha256=98N43jvjzCOh19Agipf8varCD9S9I9V8XYQcrSujv0k,3396
|
10
|
+
c2cgeoportal_geoportal/lib/checker.py,sha256=QLe0SUzfSwKYQFpGgFecWkJJlVjA1O2phwf-FvQQOUc,12547
|
11
|
+
c2cgeoportal_geoportal/lib/common_headers.py,sha256=5UYHNBLHhIQZdHLj17ZeTUnCFwLLg9Yu5i47tkHZYLw,6456
|
12
|
+
c2cgeoportal_geoportal/lib/dbreflection.py,sha256=viQotACmEAoLtJYHhQqAtcT3UQUvNVz9P_MlRCKgR9g,9759
|
13
|
+
c2cgeoportal_geoportal/lib/filter_capabilities.py,sha256=nah7A3A_m87M5lSXcw3HRaEnHMCLnXcwTQ3PdoGN4js,14343
|
14
|
+
c2cgeoportal_geoportal/lib/fulltextsearch.py,sha256=DrqO51QbDp56VpZa__2-8vp8U39izvLpyGhRCLTCaYc,2265
|
15
|
+
c2cgeoportal_geoportal/lib/functionality.py,sha256=XawlxN0gIb1IB34j9vVyxyMsh0VraZXOPcGTCxg9D4c,6279
|
16
|
+
c2cgeoportal_geoportal/lib/headers.py,sha256=zezJJ122edkNg41lGpK7ogE-almayvRKnEAopXI2pA8,2631
|
17
|
+
c2cgeoportal_geoportal/lib/i18n.py,sha256=MoEPu4mj02KeuTJQDA1Y1btK6Ll7d089dzjRTLmedfs,1852
|
18
|
+
c2cgeoportal_geoportal/lib/layers.py,sha256=DK_G0XBo1IWMOPmndWv_gYbRnE9Lg9zRTlnoXbZNgrI,4911
|
19
|
+
c2cgeoportal_geoportal/lib/lingva_extractor.py,sha256=pS-B5oTcEkW__XUop6rWKdpJhn4i7C8YNtU9JDNMEik,37601
|
20
|
+
c2cgeoportal_geoportal/lib/loader.py,sha256=vfjyuN2ry33Djc5KMTbibQ96uAw8oZyomAAwk0gbW5Q,2613
|
21
|
+
c2cgeoportal_geoportal/lib/metrics.py,sha256=5HryUs6Rk6cmVvag5_FN-W2gcwsyJt3Xf9105TSO4mQ,4847
|
22
|
+
c2cgeoportal_geoportal/lib/oauth2.py,sha256=1hXo78-8lg3OBvB0TK5zG5QawZnvroPhaVpTBtPZg8I,41107
|
23
|
+
c2cgeoportal_geoportal/lib/oidc.py,sha256=BYAXXo-k6vKTvVJDkT317641YDMT4DnvHJFR945H9x0,12222
|
24
|
+
c2cgeoportal_geoportal/lib/wmstparsing.py,sha256=EWFXxZ_nK3vpx8H3dSKIJTnNAXoJmfhhHYkcG1bXluI,12379
|
25
|
+
c2cgeoportal_geoportal/lib/xsd.py,sha256=V5dXPWTVIz04LoI5GDkorFnaLrLUhlw--c6NzWsAxfk,7031
|
26
|
+
c2cgeoportal_geoportal/scaffolds/advance_create/cookiecutter.json,sha256=1LVOM-j_nd00J89q0EI3bQUvIysbidApaVHDibA2ydk,524
|
27
|
+
c2cgeoportal_geoportal/scaffolds/advance_create/ci/config.yaml,sha256=LiDYqdnRyOXmGoSuvjMBxwfL7tYd1i1PXx5u8TU-Hs8,592
|
28
|
+
c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/.dockerignore,sha256=rPtGQNYXYoj-D94VwnVT_x-HvqldTNoz2oT7DjGpyqk,147
|
29
|
+
c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/.eslintrc.yaml,sha256=txdVU8ikuADtWxCHWjyOBtT8wiXzf-LhT9ZMVtBiwhY,241
|
30
|
+
c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/.prospector.yaml,sha256=rtVvKNsow04qQr_yXZ1yF1mPvLsyt_6Cp4Og-8yjUf4,378
|
31
|
+
c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/Dockerfile,sha256=3Uig6_mmuff53pSv_sUzTNF-El_jN6r8zfy6bR_9AXA,2603
|
32
|
+
c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/Makefile,sha256=ctHZV0-kh9voLpmgVK_ya68GI5VAKmxN9UiZVZKPyBo,147
|
33
|
+
c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/alembic.ini,sha256=KpgEj3uVRBdgiTjaQDqUjy_C0z5s8t2DUPFPTUSm7_w,985
|
34
|
+
c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/alembic.yaml,sha256=9HMFJ_UekLUzXM5bPtixNNkeHMalo50hKjkxM_2tG2E,458
|
35
|
+
c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/development.ini,sha256=NNBSPTGrK9D5kwR1WV1yV1wXQuPFBSQG5QkW16-OcVo,3042
|
36
|
+
c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/gunicorn.conf.py,sha256=JD94EpO_tVaipTxP-fL83L-hmkx1hS-_U819SdCjMlA,4981
|
37
|
+
c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/language_mapping,sha256=jZNiCuWh5-LsU0oDmNviVfNyNqZibBXNc_rsv_OpUuE,27
|
38
|
+
c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/lingva-client.cfg,sha256=Q5OugT3Ns7HEFxcBCejDHEkMtEUGhk__6-yONGg2ImM,117
|
39
|
+
c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/lingva-server.cfg,sha256=1mRNwhmqmxlJwKucLauitmY9MHgWAyCr4N6TaqHkKsU,107
|
40
|
+
c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/production.ini,sha256=ptWxF3jAE1A3IAQ7KdYSpGbPdAm3g-S-SIFXdZuFk3o,1137
|
41
|
+
c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/requirements.txt,sha256=n6hSj_r5f8NmSamv1Jo7Ly6bxby8ziEeXoMmY_psgtY,55
|
42
|
+
c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/setup.py,sha256=dZ-f23wZNh4TuHXCmyHRrlWR0kTVN3PKTT1FQilDeDk,694
|
43
|
+
c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/webpack.api.js,sha256=w_NXNXu_m6lE0fUrdxyyo-I1CfEyLWUzaMXMdHD4n5I,1102
|
44
|
+
c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/webpack.apps.js,sha256=jjfTSIbQMwsoHwRtm5nEzsRjQETBQMOFPtfFVQwiHoo,2009
|
45
|
+
c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/webpack.commons.js,sha256=0i3s1Bi1pKQzCxTR-tfAxLsHWq3SEUF7Cw5YJxMBzMM,216
|
46
|
+
c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/webpack.config.js,sha256=IFHj1YVu2aitTtQWVV6E5BaU0YDHz1qeoixaLbtRXPA,643
|
47
|
+
c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/__init__.py,sha256=GEqdw3Q7gov4KlUsZNcEIbk86HipezUMVHTzzQJSdBk,1282
|
48
|
+
c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/authentication.py,sha256=mjPjpZfgPPeMneKe4u95aPYIJlWcUpbSsR5-3ObWirA,426
|
49
|
+
c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/dev.py,sha256=2Et_4LUWO_82DAYsPxEnH5yCX0YVY2XPhv9pzOTl8Zs,387
|
50
|
+
c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/models.py,sha256=_l0vjJq6O-p2angXFtzqRy2cWU1sZz8FvPbYA6XZ0tA,285
|
51
|
+
c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/multi_organization.py,sha256=qNxledzv8JeIWTFFF8-XO163qmxztiBY_NhxLvEOCAM,158
|
52
|
+
c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/resources.py,sha256=8Ey8_zvzge1A9yid7LDggHZlulbWsm21gM6Mf9LgzlI,270
|
53
|
+
c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/subscribers.py,sha256=8ChZ7xVzcaOqRXIErrO4JtJqEnGWJ3y1C6Tu0ExjwGs,1352
|
54
|
+
c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static-ngeo/api/index.js,sha256=rxXFRQeGxBTLmhOUmFpIaGZda1Gk5Qi_VsXdbaOfwXo,260
|
55
|
+
c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static-ngeo/js/{{cookiecutter.package}}module.js,sha256=TYZUcLOinHKhzn-l35pwqe0kNOhX90TzFOVj1KyaVaI,614
|
56
|
+
c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
57
|
+
c2cgeoportal_geoportal/scaffolds/advance_update/cookiecutter.json,sha256=1LVOM-j_nd00J89q0EI3bQUvIysbidApaVHDibA2ydk,524
|
58
|
+
c2cgeoportal_geoportal/scaffolds/advance_update/{{cookiecutter.project}}/geoportal/CONST_Makefile,sha256=aclNEH4Lw_Ih98MeA15prkJhZzob4ph2pJTDGcCca-g,4023
|
59
|
+
c2cgeoportal_geoportal/scaffolds/create/cookiecutter.json,sha256=1LVOM-j_nd00J89q0EI3bQUvIysbidApaVHDibA2ydk,524
|
60
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.dockerignore,sha256=aU-IzKK1qmFAJNiCLYT6yB6LVTEsDBcO5nBW3q8M-MQ,351
|
61
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.editorconfig,sha256=cpHwgH23FLEQ6gV2O0Xa-iKxCaaVHhTKiFA91moh1sQ,297
|
62
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.gitignore,sha256=NNaSfLn7_4sIXta39BzRfGQJfUqBq-U4lbgtkXStgkY,449
|
63
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.pre-commit-config.yaml,sha256=rW61ldm4Yhzj_8XSb2tZHQ10hlQ6avm-3WIv7yS5S64,774
|
64
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.prettierignore,sha256=PcDfauWwzv1pnJgC9HR1zvv06Q01CwzGzzc0iLSNcZk,9
|
65
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.prettierrc.yaml,sha256=WbjZCtw0hBlDB2FYJanFJzAvUsNTxgwn62YBZ-Xbwkw,43
|
66
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/Dockerfile,sha256=rHfi8wr8yzUbnLtJnpnp8xdmDwCfFko7OLQ6vELoquQ,3176
|
67
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/Makefile,sha256=UzIF0yY73ddsnAD5ghwJhedupn6632l0va0IpzZVKbw,3087
|
68
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/README.rst,sha256=QJcaUtT05atb5x8SJYflSt0YIJkbAz0Zh39_FYtyFks,423
|
69
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/build,sha256=CjYe1cIL-TsKPbdxy1zStTUEGguILXpyUC63X2_Cy8c,7010
|
70
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose-db.yaml,sha256=sNzJxDQX54WfKgJhhVhDm4a05z3Rz1j6Oocl1QHzeyQ,518
|
71
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose-lib.yaml,sha256=nNwk7HpCQduiQNBRqIInMZe5weLNDelc5ItiRBk8WJY,13680
|
72
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose-qgis.yaml,sha256=YE44s31kI79j5ypud4RS69sSDGFH1ROHNNAkyWxZ4jk,576
|
73
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose.override.sample.yaml,sha256=X5vtxQ0pvLy6FSrooVmt90j4C4YNxtkSKzbPDOb4uB8,2615
|
74
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose.yaml,sha256=ZpQ33JhdBxkoUNBV9kB5f07p8DpqgvJ3-Mp0SzLnJ6w,2380
|
75
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/env.default,sha256=dy2HMaFVI72-sVvQdxMioXJnd8Kz5vAkdEJzQJoz8GU,3145
|
76
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/env.project,sha256=EoeIag5EnozSNMSETW7G9-dGPnG5NIfRhcxU5ihM_rU,2070
|
77
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/project.yaml,sha256=3tNtVcoIug5LNZoZsUpjm_YRCZQMAKzYWNL9ZdjkPC8,495
|
78
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/pyproject.toml,sha256=RnvMmtD40v3rju1HoIOX7pQfVHUKPptxaVDoZxuF7oU,107
|
79
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/run_alembic.sh,sha256=VcrDFPAGlrxXtn4N8RcPhI90uZ8shDrGowALuwx8gnM,235
|
80
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/setup.cfg,sha256=_Oj7PwahkYUSneIrjn2mXwo0m6b27dTCZhAwWXFWqUA,221
|
81
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/spell-ignore-words.txt,sha256=xREYVDbYmOz5vpSU0A6Lijb_I--zz6JSTmirxyX0dwI,30
|
82
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/main.yaml,sha256=VL1OmQUaFXZ9xBM7YnMhoUzPyHb9MQqNyBK7afPz-qA,2181
|
83
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/rebuild.yaml,sha256=2vW0rj6-_RpguWIwY58wTDcIDA1nN5qCEjYjDIg8OwQ,1374
|
84
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/update_l10n.yaml,sha256=AEm3dpJDVnYKy61mduSkPk10tJEkQMmhb1TQdbm0nlU,2335
|
85
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/ci/config.yaml,sha256=D60Qw2XxSF66PAFAjiZatEDI0Jjh2Le91X4FKnCAMgE,488
|
86
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/ci/docker-compose-check,sha256=7lnVTaaoUrC5MPGpwH2IWbzYc2KaeQMWguahsoY9Rf8,615
|
87
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/ci/requirements.txt,sha256=rnKiGx4tuYTDhwgZQWUdAPSfU3DPQ1DfHh3Rd8yyhl8,52
|
88
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/vars.yaml,sha256=zrtW8jPqAbIK0SJPbAeDLVgwYLY9tMvU5w4rs86-qug,11991
|
89
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/locale/en/LC_MESSAGES/{{cookiecutter.package}}_geoportal-client.po,sha256=hKLs5f7EJz05ACRtyTlCtssCo99PMuj-FfOJXchMZFk,162
|
90
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/robot.txt.tmpl,sha256=JR_vIqMlHq1oSgyWPN2mtZyEpsqhjKQQecaW2pxvK54,88
|
91
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/css/desktop.css,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
92
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/css/iframe_api.css,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
93
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/css/mobile.css,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
94
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/banner_left.png,sha256=ExK_hOKzWaD4rgrSFy3xw88JrJai5n8JEXy-dEmvSLo,13799
|
95
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/banner_right.png,sha256=t65I5iM-wl_7a6k3NLbVT5d725siXigH2dsOhtmC3PU,6018
|
96
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/blank.png,sha256=zp8uuLPeZ13bYveFL5dI20zQMqzo_0SSMZGNV49JZfI,259
|
97
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/markers/marker-blue.png,sha256=aALxnIGsafvssGB3fEmLWUNb7X3xz7JQlnoxUJhkNgg,758
|
98
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/markers/marker-gold.png,sha256=O5qV6Vb1Y9QMiszH34x5PA1wX_SnVZ6Qhv7vsy8zr-g,703
|
99
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/markers/marker-green.png,sha256=ucJpwxgJnaA4dUnDk779X1ZLxnYowMOTAq_CMeGw8PQ,753
|
100
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/markers/marker.png,sha256=wj0-D2abaL-A-OIoUbEeuSwMc_e1zf8zE4lVpra9xYY,601
|
101
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/demo.map.tmpl,sha256=mFtC2pzbN3-KQpZxQbhV8fMeQaZikMyZ5N-A9RXaxYE,7269
|
102
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts.conf,sha256=uG3B6GUKIvTRVLO025Ecm5lh27sEMpmmzWUzFjNh8Qg,351
|
103
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/mapserver.conf,sha256=XtDSymi11fcCaN10z_yrBQjVelDTTYOJEKVcz5e23QY,226
|
104
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/mapserver.map.tmpl,sha256=S5N9og0V45I5eTaar60OcoEkdvnZN3CQmWYZouuCElw,2776
|
105
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/tinyows.xml.tmpl,sha256=hI6mHamiwQW40t2Rf-NRHwOtkPdxL4YrkVS7MlUYPb8,816
|
106
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/data/Readme.txt,sha256=cOp2unb8vqlUqADg501IDzQbyLGZodCXyGH19fCEVUo,2891
|
107
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/data/TM_EUROPE_BORDERS-0.3.sql,sha256=pYpbBi2P61thQtpochj_-tl_kQIIVAJgZsemTYdRUBo,1588593
|
108
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Arial.ttf,sha256=NcDzVZ2NtWnjbDEJW4pg1EFkPZX1kTneQOI_ragZuDM,275572
|
109
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Arialbd.ttf,sha256=QESqa1vrvDaYAga0WwqqqlaBVSpIvK20F0bV0dcf17Q,286620
|
110
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Arialbi.ttf,sha256=Lzcc2dlrOsVEUZ2FwW3EPOrN_Oo1CQ7o3fPsWFfFAyg,224692
|
111
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Ariali.ttf,sha256=cK3iMxdaamZ15FAUYa-TJub3ix_994fKDaWrD8jJz9Y,206132
|
112
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/NotoSans-Bold.ttf,sha256=aL3Veh4eYmY6CzcsciQgS4KomCC5zzA5Ezf2HwxecSM,415132
|
113
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/NotoSans-BoldItalic.ttf,sha256=i-2wEn6RSsOt4je0AtM-VzrMS9ugueOYEnLK40_5hXo,290436
|
114
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/NotoSans-Italic.ttf,sha256=fWFOfubTLPuiYxv5hrx-xlodmXO7QUy55a632thch4c,279268
|
115
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/NotoSans-Regular.ttf,sha256=nptMU70lytnATTcPEzpeMtFm0NVOKprWy6SjH804LVs,414820
|
116
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Verdana.ttf,sha256=lu0UlJyktzks_yNbnEHVXBJTgqu-DA08K53WaJfK4Ms,139640
|
117
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Verdanab.ttf,sha256=yPUGW6kWgPWWrzsDeOLD5xO5WlI749Vq4YXKK49fCyM,136032
|
118
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Verdanai.ttf,sha256=kbWRhmVvUpclMaEUM8hm_VbmLsTmHiYhotunDI8ZqCg,154264
|
119
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Verdanaz.ttf,sha256=aY4iD0j0pA53r36zSVjI_QLx4Yw7o_Nl2Tv6LtRHTIA,153324
|
120
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/A3_Landscape.jrxml,sha256=LWasD8pgHCedWvKcByvnzzASgae3XzNH3MGqG-rEpSM,10262
|
121
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/A3_Portrait.jrxml,sha256=WVXAQAvaKYDEFE3cS6gwEeHsN_n-EKmsq9y0oiu05HU,8967
|
122
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/A4_Landscape.jrxml,sha256=eO4CQt8iCyWVDs2pGPm6dYEQtjA6PADcqe0t5tagR1Y,9822
|
123
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/A4_Portrait.jrxml,sha256=pNgpWqChIMOVP9AEcloSRlNjgWRaxtgCRMxNyRDP9Bw,7096
|
124
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/config.yaml.tmpl,sha256=QxH5xgjetuB_d3z0ktD5ZKctyNDAb8K9Ku0Y6yaOO24,4914
|
125
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/legend.jrxml,sha256=qRxN0MC4KIyxxLNiCdriO0FEUZerzrkTu-cSjexx7dE,5310
|
126
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/localisation.properties,sha256=n7F7W9ELl53JsNCDMwoFIlWravXB-K4VCQdo_Yjanx8,98
|
127
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/localisation_fr.properties,sha256=OBh4sWxMNW8dNgcXr7VpTW8HemJIQoxRmPBLZ9MDVmI,102
|
128
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/logo.png,sha256=ExK_hOKzWaD4rgrSFy3xw88JrJai5n8JEXy-dEmvSLo,13799
|
129
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/north.svg,sha256=rnHO-cNiy9ZyfwvI-o2dYipzuu-vh9rn0nE45FjfOPo,2925
|
130
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/results.jrxml,sha256=gf5grUvt-oG_H0LnsNvBWMDGqvH3uuW_wfy0O-n5ui4,1309
|
131
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/qgisserver/pg_service.conf.tmpl,sha256=WcjfsfsfNLHAfbg84HgEIb64EDnnJJWGnyAdPTXD0PI,296
|
132
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/scripts/db-backup,sha256=48fii_o6y9VbAb-ToG9qU0flS6kEXk6lfHsgtufgrwg,5205
|
133
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/scripts/db-restore,sha256=dfOEwiN8us_JulAZCEgM9WyqHUWEbnlowOgm5nQ0NR8,5425
|
134
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
135
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/tests/test_app.py,sha256=RXBFB9xc-SJ6D2UVHjooGoWbMvROiMTOxi2evFnkAtE,2961
|
136
|
+
c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/tilegeneration/config.yaml.tmpl,sha256=EdoI4sfBw1Neq4Qwx7kSHCK_wcUCyBKNhJSclYKVW4o,6197
|
137
|
+
c2cgeoportal_geoportal/scaffolds/update/cookiecutter.json,sha256=x3FFn3b67GPGCsjg36iGXCudjaTSfwGHcwHS6HHVpPQ,539
|
138
|
+
c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/.upgrade.yaml,sha256=8tPCziX4Wh6a2EOdjpLtvyqNtKcI7Rtjo8-bLQO8_Gg,2741
|
139
|
+
c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/CONST_CHANGELOG.txt,sha256=56LcSEuxHm9GByjQWa1xl_9TkPByY-kyMKJIn9XC8b0,10445
|
140
|
+
c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/CONST_create_template/tests/test_testapp.py,sha256=FNZI6uMsZttVpWi0_TEmBgV6MjQDUmE5ar9be3FFkV8,1794
|
141
|
+
c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/geoportal/.CONST_vars.yaml.swp,sha256=ZaB6IqVy0WDyGXRP7VQf8_LL_wjccSdthJtdIzw8FmE,16384
|
142
|
+
c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/geoportal/CONST_config-schema.yaml,sha256=yGKWjxc_U50dOpgknUwdAUHg1HK0Txn4fhEC1KeKg9c,23603
|
143
|
+
c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/geoportal/CONST_vars.yaml,sha256=9xw8yzmm2LrA7XNQDpD4KR--xEkKwUPnm6MyTqmB1cA,49113
|
144
|
+
c2cgeoportal_geoportal/scripts/__init__.py,sha256=hHwjhQaM_T2EaupeFIyjl0N67Bcl3M99UMcCdYAjQlQ,2929
|
145
|
+
c2cgeoportal_geoportal/scripts/c2cupgrade.py,sha256=7smnq2yxs1hAF1CiyE9WfgAqNKjjtrtHevY321i-wio,36826
|
146
|
+
c2cgeoportal_geoportal/scripts/create_demo_theme.py,sha256=-SL-fvAPjgiJZEKYcbhXsZm713txhtWQB18X231k6xQ,3263
|
147
|
+
c2cgeoportal_geoportal/scripts/manage_users.py,sha256=Ih3X_V_xUw59Ums4a1x6qQQtz9VtE7PaxAj-tiZIOPg,5586
|
148
|
+
c2cgeoportal_geoportal/scripts/pcreate.py,sha256=AcBIGBQJCvr5fch6HbseKuOCBEpuwr_3w6uokuREZJM,10984
|
149
|
+
c2cgeoportal_geoportal/scripts/theme2fts.py,sha256=Tx1jUfDUwNtwZ5TCyfpldZIbIkzZiQ3dq-kv_YQ9yFE,13737
|
150
|
+
c2cgeoportal_geoportal/scripts/urllogin.py,sha256=qGOOvx2ZN3qnENGzo8NScRqfFC06l1yc48vU6Qx3MBo,3319
|
151
|
+
c2cgeoportal_geoportal/templates/login.html,sha256=Jy8CUw2KrSviePknsvWJLDqCUXam-vPhnMUv7UcD4Pc,2475
|
152
|
+
c2cgeoportal_geoportal/templates/notlogin.html,sha256=XLCwJ8q7hqk6GIaxwhyMOaMZZZvsD_MMZaCERO8n2AY,1528
|
153
|
+
c2cgeoportal_geoportal/templates/testi18n.html,sha256=Br6Vf5zTDdaH0L07saV_8dIIT3C9xnSqh4quzTELo2s,369
|
154
|
+
c2cgeoportal_geoportal/views/__init__.py,sha256=KNfldZFuKFfNjGJsE2HyW3gUfWUY5IKSPlQbwZpLH3Y,2639
|
155
|
+
c2cgeoportal_geoportal/views/dev.py,sha256=4_xprN8ccbiEInXcpIWRGI55nU7LZI98JN7rNy4sQVg,2539
|
156
|
+
c2cgeoportal_geoportal/views/dynamic.py,sha256=3rdtuWqutFOPcF7wCm_aiIeWie7TAZK1uaTP3-O1nTY,8852
|
157
|
+
c2cgeoportal_geoportal/views/entry.py,sha256=wlDCRGNpFlECGgwLktBEQckFAz0XBWuVwS8vHSGfBLA,6931
|
158
|
+
c2cgeoportal_geoportal/views/fulltextsearch.py,sha256=uiidVzz-mQ-_eF1GL3ZCWd67-p-PNnqE7QZkBxsro4Q,8397
|
159
|
+
c2cgeoportal_geoportal/views/geometry_processing.py,sha256=5dkJ20Lk12zqfzvmfws2YFxutSX2vxzdetQ4CmYxSi8,2958
|
160
|
+
c2cgeoportal_geoportal/views/i18n.py,sha256=EEyM5Y7DSuQffiwpFrkFclUcneRCiir4bakXY6lGZjI,5343
|
161
|
+
c2cgeoportal_geoportal/views/layers.py,sha256=I1_9N8Zui4b2t9qfX1Z4QGX7-vOPeUKKvyJWLH8g9Fo,29226
|
162
|
+
c2cgeoportal_geoportal/views/login.py,sha256=FjJa6QI8JMDCFV9_oEQjXgD00UQ4ke8qixH3nLYyETE,29141
|
163
|
+
c2cgeoportal_geoportal/views/mapserverproxy.py,sha256=ii_389rDXNMbtk4cWD9BSp3dDBZVin0_KsbsxPvCtkk,9498
|
164
|
+
c2cgeoportal_geoportal/views/memory.py,sha256=Vhw3vf4pjdl9DuW2PNOK6PZZOUPUn09Otym88_XIy3s,3754
|
165
|
+
c2cgeoportal_geoportal/views/ogcproxy.py,sha256=2i3cuZ2cRybEH-DvAQbrLnUxd9y3B0iKnwkpaJvhwSc,5215
|
166
|
+
c2cgeoportal_geoportal/views/pdfreport.py,sha256=XG3ZMGVa_NGY9BmSi0jVMMfJqvFauQAkhiaz_5_77Wo,9622
|
167
|
+
c2cgeoportal_geoportal/views/printproxy.py,sha256=0KpG-blsFFsdmumzVQ0m_ZwMvroBQst1WWochnH6TgA,5958
|
168
|
+
c2cgeoportal_geoportal/views/profile.py,sha256=tVQxJ3_eS5HcDCzQm5Loq5WEH62GtMc--bK3QVGxLmg,8431
|
169
|
+
c2cgeoportal_geoportal/views/proxy.py,sha256=XxOGR8Snqrd1CKkUiK4IjavCR8PiUsd3tlEM9lZE9TI,10468
|
170
|
+
c2cgeoportal_geoportal/views/raster.py,sha256=kY6rYo4SxQP9JLbsq3_kdWdbaTVkdQDdpjrG9lUtAIM,9242
|
171
|
+
c2cgeoportal_geoportal/views/resourceproxy.py,sha256=pcHwU6hAXHeh_Ef6tuHxpRzGje8nqVKUxyZwZKOPCjI,3189
|
172
|
+
c2cgeoportal_geoportal/views/shortener.py,sha256=t-05vHSbsp6aIYV6fKk-ic6Zo45TLePIlGnPAzwrzQU,6179
|
173
|
+
c2cgeoportal_geoportal/views/theme.py,sha256=kOFfCNZ7neiaxx9O1HFJ8vIU2mEcoAQUU-WxXe08TRo,55890
|
174
|
+
c2cgeoportal_geoportal/views/tinyowsproxy.py,sha256=XAo5BxNoOSmIm4YgTvxofPWfLZbqkxK4blxdMEIzwpk,7922
|
175
|
+
c2cgeoportal_geoportal/views/vector_tiles.py,sha256=2bF3j6WvOpXAJULsEfy7pfeUBeKVheMlcUOWzHVow90,3575
|
176
|
+
tests/__init__.py,sha256=KxmbgvRWDSJoEDH1cXnDIjbfBsgCzs2KdkTPuzYMq84,3826
|
177
|
+
tests/test_cachebuster.py,sha256=asI1X_qI0MGklYuKuWyqvCPVbvhQcUe4fX91Dk-hUsE,2923
|
178
|
+
tests/test_caching.py,sha256=Juj7uwjOkjbPlTd-ll65SgWFzj3d2yDyf-eQ7ELk2eY,13222
|
179
|
+
tests/test_checker.py,sha256=NaU6Ejg9XbwS2cwqXCtz5mJPRdBIPZb3d1MkXVufr0k,3638
|
180
|
+
tests/test_decimaljson.py,sha256=CQrkqWs66kmq1iYur5kjzKhvdhw9b4TMcKEsuVayxA4,2223
|
181
|
+
tests/test_headerstween.py,sha256=3PkfTbsUq2C7fEsckO_4aYu9-XGBSeOgf86ENSqx76o,2524
|
182
|
+
tests/test_i18n.py,sha256=-mAW0UyeNF9uqkq6O_Z0mK8gGwlHlTWI0gb9Ri_bk1M,994
|
183
|
+
tests/test_init.py,sha256=79KRDBpYZ62wOHKHwkkjvq1_UuYHpPU88TNk-ZC83oM,7624
|
184
|
+
tests/test_locale_negociator.py,sha256=JDRzF8_yzsgYOWHlyd_7ezOqSCvudKjeN2QjExS0a4A,3044
|
185
|
+
tests/test_mapserverproxy_route_predicate.py,sha256=SzILSSzIuilzIkUYVPZiVzLwW1duQvCxxEvxSLk4p1o,3043
|
186
|
+
tests/test_raster.py,sha256=82NJ2MXgZlMqs0ytN-VgNw376iURdk4PkAg__dyh5ns,11948
|
187
|
+
tests/test_wmstparsing.py,sha256=xjA8nJuXFl3H5Bfs4sJw_8qX8E8qvAALK7Hs2-DTP2A,9054
|
188
|
+
tests/xmlstr.py,sha256=rkTKSU4FGjupBKLx75H8o-goB0KbQrxDvdpc6xVX_uQ,5985
|
189
|
+
c2cgeoportal_geoportal-2.9rc44.dist-info/METADATA,sha256=N0SKdX0UTnQLBzv0d5RvVBbzLVnBYEOMh4cH43uGSmY,1886
|
190
|
+
c2cgeoportal_geoportal-2.9rc44.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
191
|
+
c2cgeoportal_geoportal-2.9rc44.dist-info/entry_points.txt,sha256=3dnX260FsLX_AubeNMdyeta_z1X4CxcD3steAlfPx2I,1414
|
192
|
+
c2cgeoportal_geoportal-2.9rc44.dist-info/top_level.txt,sha256=PJIbY7Nx51dDrJ052f5mDA7c6Tehm5aD-Gb32L_CtJA,29
|
193
|
+
c2cgeoportal_geoportal-2.9rc44.dist-info/RECORD,,
|
@@ -0,0 +1,28 @@
|
|
1
|
+
[console_scripts]
|
2
|
+
c2cupgrade = c2cgeoportal_geoportal.scripts.c2cupgrade:main
|
3
|
+
create-demo-theme = c2cgeoportal_geoportal.scripts.create_demo_theme:main
|
4
|
+
manage-users = c2cgeoportal_geoportal.scripts.manage_users:main
|
5
|
+
pcreate = c2cgeoportal_geoportal.scripts.pcreate:main
|
6
|
+
theme2fts = c2cgeoportal_geoportal.scripts.theme2fts:main
|
7
|
+
urllogin = c2cgeoportal_geoportal.scripts.urllogin:main
|
8
|
+
|
9
|
+
[lingva.extractors]
|
10
|
+
geomapfish-angular = c2cgeoportal_geoportal.lib.lingva_extractor:GeomapfishAngularExtractor
|
11
|
+
geomapfish-config = c2cgeoportal_geoportal.lib.lingva_extractor:GeomapfishConfigExtractor
|
12
|
+
geomapfish-theme = c2cgeoportal_geoportal.lib.lingva_extractor:GeomapfishThemeExtractor
|
13
|
+
|
14
|
+
[plaster.loader_factory]
|
15
|
+
c2cgeoportal = c2cgeoportal_geoportal.lib.loader:Loader
|
16
|
+
c2cgeoportal+egg = c2cgeoportal_geoportal.lib.loader:Loader
|
17
|
+
c2cgeoportal+ini = c2cgeoportal_geoportal.lib.loader:Loader
|
18
|
+
|
19
|
+
[plaster.wsgi_loader_factory]
|
20
|
+
c2cgeoportal = c2cgeoportal_geoportal.lib.loader:Loader
|
21
|
+
c2cgeoportal+egg = c2cgeoportal_geoportal.lib.loader:Loader
|
22
|
+
c2cgeoportal+ini = c2cgeoportal_geoportal.lib.loader:Loader
|
23
|
+
|
24
|
+
[pyramid.scaffold]
|
25
|
+
c2cgeoportal_advance_create = c2cgeoportal_geoportal.scaffolds:TemplateAdvanceCreate
|
26
|
+
c2cgeoportal_advance_update = c2cgeoportal_geoportal.scaffolds:TemplateAdvanceUpdate
|
27
|
+
c2cgeoportal_create = c2cgeoportal_geoportal.scaffolds:TemplateCreate
|
28
|
+
c2cgeoportal_update = c2cgeoportal_geoportal.scaffolds:TemplateUpdate
|