app

app.py - 麻雀のスコアを記録し、集計して表示するツール

help:

$ ./app.py --help
usage: app.py [-h] ...
 1#!/usr/bin/env python3
 2"""
 3app.py - 麻雀のスコアを記録し、集計して表示するツール
 4
 5help:
 6
 7    $ ./app.py --help
 8    usage: app.py [-h] ...
 9"""
10
11import sys
12from typing import TYPE_CHECKING, cast
13
14import libs.global_value as g
15from libs import configuration
16from libs.data import initialization
17
18if TYPE_CHECKING:
19    from integrations.discord.adapter import ServiceAdapter as discord_adapter
20    from integrations.slack.adapter import ServiceAdapter as slack_adapter
21    from integrations.standard_io.adapter import ServiceAdapter as std_adapter
22    from integrations.web.adapter import ServiceAdapter as web_adapter
23
24
25if __name__ == "__main__":
26    configuration.setup()
27    initialization.initialization_resultdb()
28    configuration.read_memberslist()
29
30    match g.selected_service:
31        case "slack":
32            import integrations.slack.events.handler as slack
33            slack.main(cast("slack_adapter", g.adapter))
34        case "discord":
35            import integrations.discord.events.handler as discord
36            discord.main(cast("discord_adapter", g.adapter))
37        case "standard_io":
38            import integrations.standard_io.events.handler as standard_io
39            standard_io.main(cast("std_adapter", g.adapter))
40        case "web":
41            import integrations.web.events.handler as webapp
42            webapp.main(cast("web_adapter", g.adapter))
43        case _:
44            sys.exit()