Use new config dicts, update function signatures and calls

This commit is contained in:
chris committed 2026-05-26 19:31:28 -04:00
1 parent f3939c01dc
commit 39d5853638
1 file changed
+14 -16
+14 -16
View File
@@ -10,20 +10,18 @@ from sqlalchemy import func
from sqlalchemy.exc import IntegrityError from sqlalchemy.exc import IntegrityError
from data.database import Base, dal from data.database import Base, dal
from lottery_predictor.config import GAME_INFO, PROJECT_VARIABLES
import util.drawing as drawutil import util.drawing as drawutil
import util.environment as envutil
import util.scrape as scrapeutil import util.scrape as scrapeutil
project_variables = envutil.load_environment_variables()
def get_record_count(game: str) -> int | None:
def get_record_count(table_name: str) -> int | None:
""" """
:param table_name: the name of the table to get a count of records from :param game: the name of the game to get a count of records for
:returns: the count of records found in the specified table :returns: the count of records found in the specified table
""" """
game_dict = drawutil.check_table_name(table_name=table_name) game_dict = GAME_INFO[game]
if game_dict: if game_dict:
dal.connect() dal.connect()
session = dal.Session() session = dal.Session()
@@ -33,13 +31,13 @@ def get_record_count(table_name: str) -> int | None:
raise ValueError('An invalid table name was specified.') raise ValueError('An invalid table name was specified.')
def get_recent_draw_date(table_name: str) -> datetime | None: def get_recent_draw_date(game: str) -> datetime | None:
""" """
:param table_name: the name of the table to get the most recent draw date from :param game: the name of the game to get a recent draw date for
:returns datetime: the most recent draw date, if there is one :returns datetime: the most recent draw date, if there is one
""" """
game_dict = drawutil.check_table_name(table_name=table_name) game_dict = GAME_INFO[game]
if game_dict: if game_dict:
dal.connect() dal.connect()
session = dal.Session() session = dal.Session()
@@ -49,27 +47,27 @@ def get_recent_draw_date(table_name: str) -> datetime | None:
raise ValueError('An invalid table name was specified.') raise ValueError('An invalid table name was specified.')
def get_missing_records(table_name: str) -> int: def get_missing_records(game: str) -> int:
""" """
:param table_name: the name of the table to collect and insert missing records in :param game: the name of the game to get missing records for
:returns: the number of records inserted into the target table :returns: the number of records inserted into the target table
""" """
# if the table_name is valid # if the game is valid
game_dict = drawutil.check_table_name(table_name=table_name) game_dict = GAME_INFO[game]
if game_dict: if game_dict:
insert_count = 0 insert_count = 0
# connect to the database and establish a session # connect to the database and establish a session
dal.connect() dal.connect()
session = dal.Session() session = dal.Session()
date_format = project_variables['LP_DATE_PASS_FORMAT'] date_format = PROJECT_VARIABLES['LP_DATE_PASS_FORMAT']
target_table = Base.metadata.tables.get(game_dict['db_table_name']) target_table = Base.metadata.tables.get(game_dict['db_table_name'])
record_count = get_record_count(table_name=table_name) record_count = get_record_count(game=game)
target_game = game_dict['game_name'] target_game = game_dict['game_name']
end_year = datetime.today().year + 1 end_year = datetime.today().year + 1
recent_draw_date = (get_recent_draw_date(table_name=table_name) + timedelta(days=1)).strftime(date_format) recent_draw_date = (get_recent_draw_date(game=game) + timedelta(days=1)).strftime(date_format)
following_draw_date = datetime.strptime(drawutil.get_next_draw_date(game=target_game, following_draw_date = datetime.strptime(drawutil.get_next_draw_date(game=target_game,
from_date=recent_draw_date), date_format) from_date=recent_draw_date), date_format)
start_year = game_dict['inception_year'] if record_count == 0 else following_draw_date.year start_year = game_dict['inception_year'] if record_count == 0 else following_draw_date.year