libs.functions.tools.comparison
libs/functions/tools/comparison.py
1""" 2libs/functions/tools/comparison.py 3""" 4 5import os 6from typing import TYPE_CHECKING, cast 7 8from slack_bolt import App 9from slack_sdk import WebClient 10 11import libs.global_value as g 12from integrations import factory 13from integrations.slack.events import comparison 14from libs import configuration 15 16if TYPE_CHECKING: 17 from integrations.slack.adapter import ServiceAdapter 18 from libs.datamodels import ComparisonResults 19 20 21def main(): 22 """データ突合処理""" 23 24 if g.args.compar: 25 try: 26 g.adapter = cast("ServiceAdapter", g.adapter) 27 app = App(token=os.environ["SLACK_BOT_TOKEN"]) 28 configuration.read_memberslist(False) 29 except Exception as err: 30 raise RuntimeError(err) from err 31 32 adapter_slack = factory.select_adapter("slack", g.cfg) 33 adapter_slack.api.webclient = WebClient(token=os.environ["SLACK_WEB_TOKEN"]) 34 adapter_slack.api.appclient = app.client 35 adapter_slack.conf.bot_id = app.client.auth_test()["user_id"] 36 g.adapter = adapter_slack 37 38 adapter_std = factory.select_adapter("standard_io", g.cfg) 39 m = adapter_std.parser() 40 m.data.channel_id = adapter_slack.functions.get_channel_id() 41 42 comparison.main(m) 43 print(cast("ComparisonResults", m.status.message).output("summary"))
def
main():
22def main(): 23 """データ突合処理""" 24 25 if g.args.compar: 26 try: 27 g.adapter = cast("ServiceAdapter", g.adapter) 28 app = App(token=os.environ["SLACK_BOT_TOKEN"]) 29 configuration.read_memberslist(False) 30 except Exception as err: 31 raise RuntimeError(err) from err 32 33 adapter_slack = factory.select_adapter("slack", g.cfg) 34 adapter_slack.api.webclient = WebClient(token=os.environ["SLACK_WEB_TOKEN"]) 35 adapter_slack.api.appclient = app.client 36 adapter_slack.conf.bot_id = app.client.auth_test()["user_id"] 37 g.adapter = adapter_slack 38 39 adapter_std = factory.select_adapter("standard_io", g.cfg) 40 m = adapter_std.parser() 41 m.data.channel_id = adapter_slack.functions.get_channel_id() 42 43 comparison.main(m) 44 print(cast("ComparisonResults", m.status.message).output("summary"))
データ突合処理