/
bitchan_flask.py
75 lines (61 loc) · 2.12 KB
/
bitchan_flask.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
64
65
66
67
68
69
70
71
72
73
74
75
import logging
import signal
import sys
from logging import handlers
from flask import Flask
from flask_session import Session
import config
from database.models import populate_db
from flask_extensions import db
from utils.flask_session_captcha import FlaskSessionCaptcha
logging.basicConfig(
level=config.LOG_LEVEL,
format="[%(asctime)s] %(levelname)s/%(name)s: %(message)s",
handlers=[
handlers.RotatingFileHandler(
config.LOG_FRONTEND_FILE, mode='a', maxBytes=1024 * 1024 * 30,
backupCount=3, encoding=None, delay=False
),
logging.StreamHandler()
]
)
logger = logging.getLogger("bitchan.flask")
logger.info("Frontend starting")
app = Flask(__name__)
app.config.from_object(config.ProdConfig)
app.jinja_env.add_extension('jinja2.ext.do')
db.init_app(app)
Session(app)
captcha = FlaskSessionCaptcha(app)
with app.app_context():
db.create_all()
populate_db()
from flask_routes import routes_address_book
from flask_routes import routes_admin
from flask_routes import routes_board
from flask_routes import routes_diag
from flask_routes import routes_identities
from flask_routes import routes_list
from flask_routes import routes_mail
from flask_routes import routes_main
from flask_routes import routes_management
from flask_routes import routes_no_verification
from flask_routes import routes_pgp
from flask_routes import routes_verify
app.register_blueprint(routes_address_book.blueprint)
app.register_blueprint(routes_admin.blueprint)
app.register_blueprint(routes_board.blueprint)
app.register_blueprint(routes_diag.blueprint)
app.register_blueprint(routes_identities.blueprint)
app.register_blueprint(routes_list.blueprint)
app.register_blueprint(routes_mail.blueprint)
app.register_blueprint(routes_main.blueprint)
app.register_blueprint(routes_management.blueprint)
app.register_blueprint(routes_no_verification.blueprint)
app.register_blueprint(routes_pgp.blueprint)
app.register_blueprint(routes_verify.blueprint)
def signal_handler(signal, frame):
sys.exit(0)
if __name__ == "__main__":
signal.signal(signal.SIGINT, signal_handler)
app.run(port=8080, debug=True)