libs.functions.tools.recalculation
libs/functions/tools/recalculation.py
1""" 2libs/functions/tools/recalculation.py 3""" 4 5import logging 6from contextlib import closing 7 8import libs.global_value as g 9from libs.domain import modify 10from libs.domain.score import GameResult 11from libs.utils import dbutil, dictutil 12 13 14def main() -> None: 15 """ポイント再計算""" 16 g.cfg.initialization() 17 18 modify.db_backup() 19 20 with closing(dbutil.connection(g.cfg.setting.database_file)) as cur: 21 for rule_version, rule_set in g.cfg.rule.data.items(): 22 logging.info("%s", rule_set) 23 rows = cur.execute( 24 """ 25 select 26 ts, 27 p1_name, p1_str, 28 p2_name, p2_str, 29 p3_name, p3_str, 30 p4_name, p4_str, 31 comment, 32 rule_version 33 from result where rule_version=?; 34 """, 35 (rule_version,), 36 ) 37 count = 0 38 39 for row in rows: 40 dictutil.merge_dicts(dict(row), g.cfg.rule.to_dict(rule_version)) 41 result = GameResult(**dictutil.merge_dicts(dict(row), g.cfg.rule.to_dict(rule_version))) 42 cur.execute(dbutil.query("RESULT_UPDATE"), result.to_dict()) 43 count += 1 44 logging.info("recalculated: %s", count) 45 46 cur.commit()
def
main() -> None:
15def main() -> None: 16 """ポイント再計算""" 17 g.cfg.initialization() 18 19 modify.db_backup() 20 21 with closing(dbutil.connection(g.cfg.setting.database_file)) as cur: 22 for rule_version, rule_set in g.cfg.rule.data.items(): 23 logging.info("%s", rule_set) 24 rows = cur.execute( 25 """ 26 select 27 ts, 28 p1_name, p1_str, 29 p2_name, p2_str, 30 p3_name, p3_str, 31 p4_name, p4_str, 32 comment, 33 rule_version 34 from result where rule_version=?; 35 """, 36 (rule_version,), 37 ) 38 count = 0 39 40 for row in rows: 41 dictutil.merge_dicts(dict(row), g.cfg.rule.to_dict(rule_version)) 42 result = GameResult(**dictutil.merge_dicts(dict(row), g.cfg.rule.to_dict(rule_version))) 43 cur.execute(dbutil.query("RESULT_UPDATE"), result.to_dict()) 44 count += 1 45 logging.info("recalculated: %s", count) 46 47 cur.commit()
ポイント再計算