diff --git a/batters/creation.py b/batters/creation.py index 5a9c619..9dc5e13 100644 --- a/batters/creation.py +++ b/batters/creation.py @@ -59,14 +59,18 @@ async def pd_battingcardratings_df(cardset_id: int): # return pd.DataFrame(bcr_query['ratings']).rename(columns={'battingcard': 'battingcard_id'}) -def get_batting_stats(file_path: str = None, start_date: datetime.datetime = None, end_date: datetime.datetime = None): +def get_batting_stats( + file_path: str = None, start_date: datetime.datetime = None, end_date: datetime.datetime = None, + ignore_limits: bool = False): + min_vl = 20 if not ignore_limits else 1 + min_vr = 40 if not ignore_limits else 1 if file_path is not None: - vl_basic = pd.read_csv(f'{file_path}vlhp-basic.csv').query('PA >= 20') - vr_basic = pd.read_csv(f'{file_path}vrhp-basic.csv').query('PA >= 40') + vl_basic = pd.read_csv(f'{file_path}vlhp-basic.csv').query(f'PA >= {min_vl}') + vr_basic = pd.read_csv(f'{file_path}vrhp-basic.csv').query(f'PA >= {min_vr}') total_basic = pd.merge(vl_basic, vr_basic, on="playerId", suffixes=('_vL', '_vR')) - vl_rate = pd.read_csv(f'{file_path}vlhp-rate.csv').query('PA >= 20') - vr_rate = pd.read_csv(f'{file_path}vrhp-rate.csv').query('PA >= 40') + vl_rate = pd.read_csv(f'{file_path}vlhp-rate.csv').query(f'PA >= {min_vl}') + vr_rate = pd.read_csv(f'{file_path}vrhp-rate.csv').query(f'PA >= {min_vr}') total_rate = pd.merge(vl_rate, vr_rate, on="playerId", suffixes=('_vL', '_vR')) return pd.merge(total_basic, total_rate, on="playerId", suffixes=('', '_rate')) @@ -384,12 +388,12 @@ async def post_player_updates( async def run_batters( cardset: dict, input_path: str, post_players: bool, card_base_url: str, release_directory: str, player_description: str, season_pct: float, post_batters: bool, pull_fielding: bool, season: int, - is_liveseries: bool): + is_liveseries: bool, ignore_limits: bool): print(f'Pulling PD player IDs...') pd_players = await pd_players_df(cardset['id']) print('Reading batting stats...') - all_stats = get_batting_stats(file_path=input_path) + all_stats = get_batting_stats(file_path=input_path, ignore_limits=ignore_limits) print(f'Processed {len(all_stats.values)} batters\n') bat_step1 = match_player_lines(all_stats, pd_players) if post_players: diff --git a/db_calls.py b/db_calls.py index 9b762e0..94e6169 100644 --- a/db_calls.py +++ b/db_calls.py @@ -75,7 +75,7 @@ async def url_get(url: str, timeout: int = 3): else: e = await r.text() logging.error(e) - raise ValueError(f'DB: {r.text()}') + raise ValueError(f'DB: {e}') async def db_patch(endpoint: str, object_id: int, params: list, api_ver: int = 2, timeout: int = 3): diff --git a/live_series_update.py b/live_series_update.py index 665d77b..515914c 100644 --- a/live_series_update.py +++ b/live_series_update.py @@ -71,13 +71,14 @@ async def main(args): post_players = True if 'post_players' not in arg_data or arg_data['post_players'].lower() == 'true' else False pull_fielding = True if 'pull_fielding' not in arg_data or arg_data['pull_fielding'].lower() == 'true' else False is_liveseries = True if 'is_liveseries' not in arg_data or arg_data['is_liveseries'].lower() == 'true' else False + ignore_limits = False if 'ignore_limits' not in arg_data or arg_data['ignore_limits'].lower() == 'false' else True start_time = datetime.datetime.now() release_directory = f'{start_time.year}-{start_time.month}-{start_time.day}' data = await batters.creation.run_batters( cardset, input_path, post_players, CARD_BASE_URL, release_directory, player_description, season_pct, - post_batters, pull_fielding, season, is_liveseries + post_batters, pull_fielding, season, is_liveseries, ignore_limits ) print(f'Batter updates are complete') @@ -88,7 +89,7 @@ async def main(args): data = await pitchers.creation.run_pitchers( cardset, input_path, CARD_BASE_URL, season, release_directory, player_description, season_pct, post_players, - post_pitchers, is_liveseries + post_pitchers, is_liveseries, ignore_limits ) pitching_stats = data['pitching_stats'] diff --git a/pitchers/creation.py b/pitchers/creation.py index 17a8213..7b5c037 100644 --- a/pitchers/creation.py +++ b/pitchers/creation.py @@ -10,15 +10,19 @@ from defenders import calcs_defense as cde from . import calcs_pitcher as cpi -def get_pitching_stats(file_path: str = None, start_date: datetime.datetime = None, end_date: datetime.datetime = None): +def get_pitching_stats( + file_path: str = None, start_date: datetime.datetime = None, end_date: datetime.datetime = None, + ignore_limits: bool = False): print('Reading pitching stats...') + min_vl = 20 if not ignore_limits else 1 + min_vr = 40 if not ignore_limits else 1 if file_path is not None: - vl_basic = pd.read_csv(f'{file_path}vlhh-basic.csv').query('TBF >= 20') - vr_basic = pd.read_csv(f'{file_path}vrhh-basic.csv').query('TBF >= 40') + vl_basic = pd.read_csv(f'{file_path}vlhh-basic.csv').query(f'TBF >= {min_vl}') + vr_basic = pd.read_csv(f'{file_path}vrhh-basic.csv').query(f'TBF >= {min_vr}') total_basic = pd.merge(vl_basic, vr_basic, on="playerId", suffixes=('_vL', '_vR')) - vl_rate = pd.read_csv(f'{file_path}vlhh-rate.csv').query('TBF >= 20') - vr_rate = pd.read_csv(f'{file_path}vrhh-rate.csv').query('TBF >= 40') + vl_rate = pd.read_csv(f'{file_path}vlhh-rate.csv').query(f'TBF >= {min_vl}') + vr_rate = pd.read_csv(f'{file_path}vrhh-rate.csv').query(f'TBF >= {min_vr}') total_rate = pd.merge(vl_rate, vr_rate, on="playerId", suffixes=('_vL', '_vR')) return pd.merge(total_basic, total_rate, on="playerId", suffixes=('', '_rate')) @@ -468,11 +472,12 @@ async def post_player_updates( async def run_pitchers( cardset: dict, input_path: str, card_base_url: str, season: int, release_directory: str, - player_description: str, season_pct: float, post_players: bool, post_pitchers: bool, is_liveseries: bool): + player_description: str, season_pct: float, post_players: bool, post_pitchers: bool, is_liveseries: bool, + ignore_limits: bool): print(f'Pulling PD player IDs...') pd_players = await pd_players_df(cardset['id']) - all_stats = get_pitching_stats(file_path=input_path) + all_stats = get_pitching_stats(file_path=input_path, ignore_limits=ignore_limits) print(f'Processed {len(all_stats.values)} pitchers\n') print(f'Pulling pitcher defense...')