app
app.py - 麻雀のスコアを記録し、集計して表示するツール
help: usage: app.py [-h] ...
options:
-h, --help show this help message and exit
-c, --config CONFIG 設定ファイル(default: config.ini)
-s, --service {slack,discord,standard_io,std,web,flask}
連携先サービス
logging options:
-d, --debug デバッグレベル(-d, -dd)
-v, --verbose 動作ログ出力レベル(-v, -vv, -vvv)
--moderate ログレベルがエラー以下のもを非表示
--notime ログフォーマットから日時を削除
Only allowed when --service=standard_io:
--text TEXT input text strings
Only allowed when --service=web:
--host HOST listen address(default: 127.0.0.1)
--port PORT bind port(default: 8000)
1#!/usr/bin/env python3 2""" 3app.py - 麻雀のスコアを記録し、集計して表示するツール 4 5help: 6 usage: app.py [-h] ... 7 8 options: 9 -h, --help show this help message and exit 10 -c, --config CONFIG 設定ファイル(default: config.ini) 11 -s, --service {slack,discord,standard_io,std,web,flask} 12 連携先サービス 13 14 logging options: 15 -d, --debug デバッグレベル(-d, -dd) 16 -v, --verbose 動作ログ出力レベル(-v, -vv, -vvv) 17 --moderate ログレベルがエラー以下のもを非表示 18 --notime ログフォーマットから日時を削除 19 20 Only allowed when --service=standard_io: 21 --text TEXT input text strings 22 23 Only allowed when --service=web: 24 --host HOST listen address(default: 127.0.0.1) 25 --port PORT bind port(default: 8000) 26""" 27 28import sys 29from typing import TYPE_CHECKING, cast 30 31import libs.global_value as g 32from libs.bootstrap import configuration 33from libs.types import ServiceType 34 35if TYPE_CHECKING: 36 from integrations.discord.adapter import ServiceAdapter as discord_adapter 37 from integrations.slack.adapter import ServiceAdapter as slack_adapter 38 from integrations.standard_io.adapter import ServiceAdapter as std_adapter 39 from integrations.web.adapter import ServiceAdapter as web_adapter 40 41 42if __name__ == "__main__": 43 configuration.setup() 44 45 match g.cfg.selected_service: 46 case ServiceType.SLACK: 47 import integrations.slack.events.handler as slack 48 49 slack.main(cast("slack_adapter", g.adapter)) 50 case ServiceType.DISCORD: 51 import integrations.discord.events.handler as discord 52 53 discord.main(cast("discord_adapter", g.adapter)) 54 case ServiceType.STANDARD_IO: 55 import integrations.standard_io.events.handler as standard_io 56 57 standard_io.main(cast("std_adapter", g.adapter)) 58 case ServiceType.WEB: 59 import integrations.web.events.handler as webapp 60 61 webapp.main(cast("web_adapter", g.adapter)) 62 case _: 63 sys.exit()