-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcore.py
63 lines (46 loc) · 1.85 KB
/
core.py
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
51
52
53
54
55
56
57
58
59
60
61
62
63
# _ _ _ _ _ __ __ ____
# | | (_) | | | | (_) | \/ |/ __ \
# | | _ | |_ | |__ _ _ _ _ __ ___ | \ / | | | |
# | | | | | __| | "_ \ | | | | | | | "_ ` _ \ | |\/| | | | |
# | |____ | | | |_ | | | | | | | |_| | | | | | | | | | | | |__| |
# |______| |_| \__| |_| |_| |_| \__,_| |_| |_| |_| |_| |_|\___\_\
import os
from flask import Flask
from flask_login import LoginManager
from handlers import index, grant, \
helpdesk, \
error_handlers, user, channel, mixin, service
import my_limits
from storage.db_session import base_init
from redis_storage.redis_session import base_init as redis_base_init
from version import version
# Flask init
app = Flask(__name__)
login_manager = LoginManager()
login_manager.init_app(app)
app.config["SECRET_KEY"] = os.getenv('secret_key')
@app.after_request
def add_header(response):
response.headers['X-Powered-By'] = version
return response
# Database init
SessObject = base_init()
RedisSessObject = redis_base_init()
limit_generator = my_limits.limit_generator(app)
# Blueprints registration
app.register_blueprint(index.create_handler(limit_generator))
app.register_blueprint(
channel.create_handler(
SessObject, RedisSessObject, limit_generator)
)
app.register_blueprint(user.create_handler(SessObject, login_manager,
limit_generator))
app.register_blueprint(mixin.create_handler(
SessObject, RedisSessObject, limit_generator))
app.register_blueprint(grant.create_handler(
SessObject, RedisSessObject, limit_generator))
app.register_blueprint(helpdesk.create_handler())
app.register_error_handler(401, error_handlers.error_401)
app.register_blueprint(service.create_handler())
if __name__ == "__main__":
app.run(port=5000, host="127.0.0.1")