integrations.web.events.handler
integrations/web/events/handler.py
1""" 2integrations/web/events/handler.py 3""" 4 5import os 6from typing import TYPE_CHECKING 7 8from flask import Flask 9from flask_httpauth import HTTPBasicAuth # type: ignore 10 11import libs.global_value as g 12from integrations.web.events import create_bp 13from libs.data import lookup 14 15if TYPE_CHECKING: 16 from integrations.web.adapter import ServiceAdapter 17 18 19def main(adapter: "ServiceAdapter"): 20 """メイン処理""" 21 22 app = Flask( 23 __name__, 24 static_folder=os.path.join(g.cfg.script_dir, "files/html/static"), 25 template_folder=os.path.join(g.cfg.script_dir, "files/html/template"), 26 ) 27 28 app.config["padding"] = "0.25em 1.5em" 29 app.config["players"] = lookup.internal.get_member() 30 app.register_blueprint(create_bp.index_bp(adapter)) 31 app.register_blueprint(create_bp.summary_bp(adapter)) 32 app.register_blueprint(create_bp.graph_bp(adapter)) 33 app.register_blueprint(create_bp.ranking_bp(adapter)) 34 app.register_blueprint(create_bp.detail_bp(adapter)) 35 app.register_blueprint(create_bp.report_bp(adapter)) 36 app.register_blueprint(create_bp.member_bp(adapter)) 37 app.register_blueprint(create_bp.score_bp(adapter)) 38 app.register_blueprint(create_bp.user_assets_bp(adapter)) 39 40 auth = HTTPBasicAuth() 41 42 @auth.verify_password 43 def verify_password(username, password): 44 if username == adapter.conf.username and password == adapter.conf.password: 45 return True 46 return False 47 48 @app.before_request 49 def require_auth(): 50 if adapter.conf.require_auth: 51 return auth.login_required(lambda: None)() 52 return None 53 54 if adapter.conf.use_ssl: 55 if not os.path.exists(adapter.conf.certificate): 56 raise FileNotFoundError("certificate file not found") 57 if not os.path.exists(adapter.conf.private_key): 58 raise FileNotFoundError("private key file not found") 59 app.run( 60 host=adapter.conf.host, port=adapter.conf.port, 61 ssl_context=(adapter.conf.certificate, adapter.conf.private_key) 62 ) 63 else: 64 app.run(host=adapter.conf.host, port=adapter.conf.port)
20def main(adapter: "ServiceAdapter"): 21 """メイン処理""" 22 23 app = Flask( 24 __name__, 25 static_folder=os.path.join(g.cfg.script_dir, "files/html/static"), 26 template_folder=os.path.join(g.cfg.script_dir, "files/html/template"), 27 ) 28 29 app.config["padding"] = "0.25em 1.5em" 30 app.config["players"] = lookup.internal.get_member() 31 app.register_blueprint(create_bp.index_bp(adapter)) 32 app.register_blueprint(create_bp.summary_bp(adapter)) 33 app.register_blueprint(create_bp.graph_bp(adapter)) 34 app.register_blueprint(create_bp.ranking_bp(adapter)) 35 app.register_blueprint(create_bp.detail_bp(adapter)) 36 app.register_blueprint(create_bp.report_bp(adapter)) 37 app.register_blueprint(create_bp.member_bp(adapter)) 38 app.register_blueprint(create_bp.score_bp(adapter)) 39 app.register_blueprint(create_bp.user_assets_bp(adapter)) 40 41 auth = HTTPBasicAuth() 42 43 @auth.verify_password 44 def verify_password(username, password): 45 if username == adapter.conf.username and password == adapter.conf.password: 46 return True 47 return False 48 49 @app.before_request 50 def require_auth(): 51 if adapter.conf.require_auth: 52 return auth.login_required(lambda: None)() 53 return None 54 55 if adapter.conf.use_ssl: 56 if not os.path.exists(adapter.conf.certificate): 57 raise FileNotFoundError("certificate file not found") 58 if not os.path.exists(adapter.conf.private_key): 59 raise FileNotFoundError("private key file not found") 60 app.run( 61 host=adapter.conf.host, port=adapter.conf.port, 62 ssl_context=(adapter.conf.certificate, adapter.conf.private_key) 63 ) 64 else: 65 app.run(host=adapter.conf.host, port=adapter.conf.port)
メイン処理