paper-dynasty-card-creation/scripts/fix_pitcher_pos.py
2024-11-10 14:42:12 -06:00

41 lines
1.1 KiB
Python

import asyncio
import datetime
import sys
from db_calls import db_get, db_patch
from exceptions import logger
async def main(args):
p_query = await db_get('players', params=[('pos_include', 'P')])
if p_query['count'] == 0:
print(f'No players found.')
return
errors = []
for player in p_query['players']:
c_query = await db_get('pitchingcards/player', object_id=player['player_id'])
if c_query['count'] == 0:
errors.append(player)
else:
sr = c_query['cards'][0]['starter_rating']
cr = c_query['cards'][0]['closer_rating']
params = []
if sr >= 4:
params.append(('pos_1', 'SP'))
else:
params.append(('pos_1', 'RP'))
if cr is not None:
params.append(('pos_2', 'CP'))
logger.info(f'Player: {player["p_name"]}, positions: {params}')
await db_patch('players', object_id=player['player_id'], params=params)
if __name__ == '__main__':
asyncio.run(main(sys.argv[1:]))