# Copyright (C) 2020-2024 Soleta Networks # # This program is free software: you can redistribute it and/or modify it under # the terms of the GNU Affero General Public License as published by the # Free Software Foundation; either version 3 of the License, or # (at your option) any later version. from flask_wtf.csrf import CSRFProtect from flask_bootstrap import Bootstrap from flask_babel import Babel from flask import Flask from flask.logging import logging from os import urandom ogcp_cfg_path = 'cfg/ogcp.json' app = Flask(__name__) app.config.from_json(ogcp_cfg_path) if 'SESSION_COOKIE_SAMESITE' not in app.config or not app.config['SESSION_COOKIE_SAMESITE']: app.config['SESSION_COOKIE_SAMESITE'] = 'Lax' app.secret_key = urandom(16) class NoScopeStatus(logging.Filter): def filter(self, record): return 'GET /scopes/status' not in record.getMessage() logging.getLogger("werkzeug").addFilter(NoScopeStatus()) babel = Babel(app) csrf = CSRFProtect(app) bootstrap = Bootstrap(app) @babel.localeselector def localeselector(): return app.config.get('LANG', 'en') import ogcp.views import ogcp.filters