blob: efeff40172380f44180d5acb138509a00a67ec2f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# Copyright (C) 2020-2024 Soleta Networks <info@soleta.eu>
#
# 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
|