PowerDNS-Admin/app/__init__.py

41 lines
1.2 KiB
Python
Raw Normal View History

from werkzeug.contrib.fixers import ProxyFix
2016-08-05 10:20:41 +02:00
from flask import Flask, request, session, redirect, url_for
from flask_login import LoginManager
from flask_sqlalchemy import SQLAlchemy as SA
2018-06-11 05:58:47 +02:00
from flask_migrate import Migrate
from authlib.flask.client import OAuth as AuthlibOAuth
from sqlalchemy.exc import OperationalError
# subclass SQLAlchemy to enable pool_pre_ping
class SQLAlchemy(SA):
def apply_pool_defaults(self, app, options):
SA.apply_pool_defaults(self, app, options)
options["pool_pre_ping"] = True
2015-12-13 10:34:12 +01:00
from app.assets import assets
2015-12-13 10:34:12 +01:00
app = Flask(__name__)
app.config.from_object('config')
app.wsgi_app = ProxyFix(app.wsgi_app)
assets.init_app(app)
#### CONFIGURE LOGGER ####
from app.lib.log import logger
logging = logger('powerdns-admin', app.config['LOG_LEVEL'], app.config['LOG_FILE']).config()
2015-12-13 10:34:12 +01:00
login_manager = LoginManager()
login_manager.init_app(app)
2018-08-19 10:29:50 +02:00
db = SQLAlchemy(app) # database
migrate = Migrate(app, db) # flask-migrate
authlib_oauth_client = AuthlibOAuth(app) # authlib oauth
if app.config.get('SAML_ENABLED') and app.config.get('SAML_ENCRYPT'):
from app.lib import certutil
if not certutil.check_certificate():
certutil.create_self_signed_cert()
2018-08-19 10:29:50 +02:00
from app import models
2018-08-23 04:23:21 +02:00
from app import views