# encoding: utf-8 import os from flask import Flask from flask_session import Session from datetime import timedelta from config import ALLOWED_EXTENSIONS, UPLOAD_FOLDER, KEYS from webapp.admin_view import admin from webapp.backend import backend os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3' app = Flask(__name__) session = Session() session.permanent = True app.register_blueprint(backend) app.register_blueprint(admin) app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER app.config['ALLOWED_EXTENSIONS'] = ALLOWED_EXTENSIONS key = os.path.join(KEYS, "secret_key") try: app.config['SECRET_KEY'] = open(key, 'rb').read() except IOError: os.makedirs(KEYS, exist_ok=True) os.system("head -c 24 /dev/urandom >" + key) app.config['SECRET_KEY'] = open(key, 'rb').read()
from flasgger import Swagger from flask_swagger_ui import get_swaggerui_blueprint from flask_cors import CORS logs.logger_init(filename="app.log") app = Flask(__name__, template_folder=variables.TEMPLATES_URL, static_folder=variables.STATIC_URL) app.config.from_object(config.config) if (config.config.SESSION_TYPE == 'redis' and config.config.SESSION_TYPE != ''): sess = Session() sess.permanent = False app.permanent_session_lifetime = timedelta(minutes=240) #4 hours lifetime sess.init_app(app) login_manager = LoginManager() login_manager.init_app(app) db = SQLAlchemy(app) swagger = Swagger(app) logs.logger.info("secret_key={}".format(config.config.SECRET_KEY)) #migrate = Migrate(app, db) SWAGGER_URL = '/api/docs' # URL for exposing Swagger UI (without trailing '/') API_URL = 'https://covidslotapi.herokuapp.com/openapi.json' # Our API url (can of course be a local resource) # Call factory function to create our blueprint swaggerui_blueprint = get_swaggerui_blueprint(
from web.modules.entity import LoginUser from web.modules.utils import check_device, check_trid from web.views import front, creator, ajax, debug from web.views.common import redirect_ app = Flask(__name__, instance_relative_config=True) app.config.from_object('config.default') if 'PROFILE' in os.environ: app.config.from_envvar('PROFILE') else: app.config.from_pyfile('config.py') app.permanent_session_lifetime = timedelta(days=360) sess = Session() sess.init_app(app) sess.permanent = True csrf = CsrfProtect() csrf.init_app(app) app.jinja_env.trim_blocks = True app.jinja_env.lstrip_blocks = True # Logging app.debug_log_format = '%(asctime)s\t[%(levelname)s]\t%(message)s' log_file = app.config.get('LOG_PATH') file_handler = RotatingFileHandler(log_file, backupCount=3, maxBytes=100000) file_handler.setFormatter( Formatter('%(asctime)s\t[%(levelname)s]\t%(message)s')) file_handler.setLevel(app.config.get('LOG_LEVEL')) app.logger.addHandler(file_handler)