49 lines
1.4 KiB
Python
49 lines
1.4 KiB
Python
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:])) |