initflaskhanlde.py 1.23 KB
Newer Older
qunfeng qiu's avatar
qunfeng qiu committed
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 42 43 44 45 46 47 48 49 50
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
"""
@Version: 1.0
@Python Version:3.6.6
@Author: ludq1
@Email: ludq1@chinaunicom.cn
@date: 2023/04/07 11:40:00
@Description:
"""

from flask import current_app

from .cfginfohandle import CfgInfoHandle
from .globalconst import FlaskConfigIDConst
from .redishanlde import RedisHandle


class InitFlaskHandle:

    def __init__(self, flask_app=None):
        r"""
            登录处理初始化
        Args:
            flask_app:      flask app
            list_filter_url:    url过滤,不需要被登录检查的 list[dict]
        """
        # 初始化,处理是否接入flask

        self.app = flask_app
        if flask_app is not None:
            self.init_app(flask_app)

    def init_app(self, app):
        r"""
        初始化flask变量,走所有服务之前去验证登录
        Args:
            app:    flask全局的app

        Returns:

        """
        with app.app_context():
            # 初始化需要的环境信息
            cfgh = CfgInfoHandle()
            current_app.config[FlaskConfigIDConst.INIT_CONFIG_ID] = cfgh

            # 初始化redis实例信息
            rh = RedisHandle()
            current_app.config[FlaskConfigIDConst.REDIS_CLASS_ID] = rh