import asyncio import sys import batters.creation import pitchers.creation from creation_helpers import get_args, pd_players_df from db_calls import db_get from defenders import calcs_defense as cde async def main(args): arg_data = get_args(args) cardset_name = arg_data["cardset_name"] print(f"Searching for cardset: {cardset_name}") c_query = await db_get("cardsets", params=[("name", cardset_name)]) if c_query["count"] == 0: print(f"I do not see a cardset named {cardset_name}") return cardset = c_query["cardsets"][0] del c_query if "season" in arg_data: season = arg_data["season"] else: season = int(cardset["name"][:4]) post_batters = ( True if "post_batters" not in arg_data or arg_data["post_batters"].lower() == "true" else False ) post_pitchers = ( True if "post_pitchers" not in arg_data or arg_data["post_pitchers"].lower() == "true" else False ) post_players = ( True if "post_players" not in arg_data or arg_data["post_players"].lower() == "true" else False ) season_pct = 1.0 if "season_pct" not in arg_data else float(arg_data["season_pct"]) all_players = await pd_players_df(cardset["id"]) if post_batters: await batters.creation.run_batter_fielding( season, all_players, season_pct, post_batters ) if post_pitchers: df_p = cde.get_bbref_fielding_df("p", season) await pitchers.creation.create_position( season_pct, all_players, post_pitchers, df_p ) if __name__ == "__main__": asyncio.run(main(sys.argv[1:]))