Script to change pos_1=P to proper SP/RP/CP
This commit is contained in:
parent
d69d7e6103
commit
863d906657
49
scripts/fix_pitcher_pos.py
Normal file
49
scripts/fix_pitcher_pos.py
Normal file
@ -0,0 +1,49 @@
|
||||
import asyncio
|
||||
import datetime
|
||||
import logging
|
||||
import sys
|
||||
|
||||
from db_calls import db_get, db_patch
|
||||
|
||||
date = f'{datetime.datetime.now().year}-{datetime.datetime.now().month}-{datetime.datetime.now().day}'
|
||||
log_level = logging.INFO
|
||||
logging.basicConfig(
|
||||
filename=f'logs/{date}.log',
|
||||
format='%(asctime)s - retrosheet_data - %(levelname)s - %(message)s',
|
||||
level=log_level
|
||||
)
|
||||
|
||||
|
||||
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'))
|
||||
|
||||
logging.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:]))
|
||||
Loading…
Reference in New Issue
Block a user