Ejemplo n.º 1
0
def before_request():
    g.startTime = time.time()
    g.redis = create_redis_engine()
    g.mysql = create_mysql_engine()
    g.signin = verify_sessionId(request.cookies.get("sessionId"))
    g.sid, g.uid = analysis_sessionId(request.cookies.get("sessionId"),
                                      "tuple") if g.signin else (None, None)
    app.logger.debug("uid: {}, sid: {}".format(g.uid, g.sid))
    g.api = api
    g.ip = request.headers.get('X-Real-Ip', request.remote_addr)
    g.agent = request.headers.get("User-Agent")
    # 仅是重定向页面快捷定义
    g.redirect_uri = get_redirect_url()
    # 上下文扩展点之请求后(返回前)
    before_request_hook = plugin.get_all_cep.get("before_request_hook")
    for cep_func in before_request_hook():
        cep_func(request=request, g=g)
    before_request_return = plugin.get_all_cep.get("before_request_return")
    for cep_func in before_request_return():
        resp = cep_func(request=request, g=g)
        try:
            success = resp.is_before_request_return
        except:
            logger.warn(
                "Plugin returns abnormalities when before_request_return")
        else:
            if success is True:
                return resp
Ejemplo n.º 2
0
 def _open(self, redis_url):
     try:
         return create_redis_engine(redis_url)
     except ImportError:
         raise ImportError(
             "Please install the redis module, eg: pip install redis"
         )
Ejemplo n.º 3
0
Archivo: cli.py Proyecto: djfbob/picbed
def exec_createuser(username, password, **kwargs):
    """创建账号"""
    ak = rsp("accounts")
    if check_username(username):
        if not password or len(password) < 6:
            echo("密码最少6位", "yellow")
        else:
            rc = create_redis_engine()
            if rc.sismember(ak, username):
                echo("用户名已存在", "red")
            else:
                is_admin = kwargs.pop("is_admin", 0)
                uk = rsp("account", username)
                pipe = rc.pipeline()
                pipe.sadd(ak, username)
                if kwargs:
                    pipe.hmset(uk, kwargs)
                pipe.hmset(
                    uk,
                    dict(username=username,
                         password=generate_password_hash(password),
                         is_admin=1 if is_true(is_admin) else 0,
                         ctime=get_current_timestamp()))
                try:
                    pipe.execute()
                except RedisError as e:
                    echo(e.message, "red")
                else:
                    echo("注册成功!", "green")
                finally:
                    rc.connection_pool.disconnect()
    else:
        echo("用户名不合法或不允许注册", "yellow")
Ejemplo n.º 4
0
def before_request():
    g.redis = create_redis_engine()
    g.mysql = create_mysql_engine()
    g.signin = verify_cookie(request.cookies.get("sessionId"))
    g.uid = analysis_cookie(request.cookies.get("sessionId")).get("uid")
    g.ref = request.referrer
    g.redirect_uri = g.ref or url_for('front.index') if request.endpoint and request.endpoint in ("logout", ) else request.url
    #access_logger.debug("referrer: {}, redirect_uri: {}".format(g.ref, g.redirect_uri))
    #上下文扩展点之请求后(返回前)
    before_request_hook = plugin.get_all_cep.get("before_request_hook")
    for cep_func in before_request_hook():
        cep_func(request=request, g=g)
Ejemplo n.º 5
0
def before_request():
    sessionId = request.cookies.get("sessionId",
                                    request.headers.get("sessionId"))
    g.startTime = time.time()
    g.redis = create_redis_engine()
    g.mysql = create_mysql_engine()
    g.signin = verify_sessionId(sessionId)
    g.sid, g.uid = analysis_sessionId(sessionId,
                                      "tuple") if g.signin else (None, None)
    logger.debug("uid: {}, sid: {}".format(g.uid, g.sid))
    g.api = api
    g.ip = request.headers.get('X-Real-Ip', request.remote_addr)
    g.agent = request.headers.get("User-Agent")
    # 仅是重定向页面快捷定义
    g.redirect_uri = get_redirect_url()
Ejemplo n.º 6
0
 def __init__(self):
     #设置全局超时时间(如连接超时)
     self.timeout = 2
     self.redis = create_redis_engine()
     self.mysql = create_mysql_engine()
Ejemplo n.º 7
0
 def __init__(self, mysql=None, redis=None):
     self.db = mysql if mysql else create_mysql_engine()
     self.rc = redis if redis else create_redis_engine()
Ejemplo n.º 8
0
from version import __version__

__author__ = 'staugur'
__email__ = '*****@*****.**'
__date__ = '2019-12-20'
__doc__ = 'Flask-based web self-built pictures bed'

app = Flask(__name__)
app.response_class = JsonResponse
app.config.update(
    SECRET_KEY=GLOBAL.get("SecretKey") or str(uuid4()),
    MAX_CONTENT_LENGTH=10 * 1024 * 1024,
)

hm = HookManager(app)
rc = create_redis_engine()

app.register_blueprint(front_bp)
app.register_blueprint(api_bp, url_prefix="/api")
app.cli.add_command(sa_cli)


@app.context_processor
def GlobalTemplateVariables():
    return {"Version": __version__, "Doc": __doc__, "is_true": is_true}


@app.before_request
def before_request():
    g.rc = rc
    g.signin, g.userinfo = default_login_auth()
Ejemplo n.º 9
0
 def __init__(self):
     self.index = rsp("dat")
     self._db = create_redis_engine()
Ejemplo n.º 10
0
 def __init__(self, mysql=None, redis=None):
     self.db = mysql or create_mysql_engine()
     self.rc = redis or create_redis_engine()