From 09aad6acc30a43f438799d5e778705dd421fef42 Mon Sep 17 00:00:00 2001 From: Cal Corum Date: Tue, 18 Jul 2023 00:01:55 -0500 Subject: [PATCH] Update admins.py Prep /set-keepers for season 8 --- cogs/admins.py | 44 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/cogs/admins.py b/cogs/admins.py index 4f35cc9..64e2dd5 100644 --- a/cogs/admins.py +++ b/cogs/admins.py @@ -234,22 +234,64 @@ class Admins(commands.Cog): if this_team is None: await interaction.edit_original_response(content=f'Team {team_abbrev} not found') + def get_pos_nickname(position): + if 'B' in position: + return 'IF' + elif position == 'SS': + return 'IF' + elif 'F' in position: + return 'OF' + elif 'P' in position: + return 'P' + elif position == 'C': + return 'C' + else: + return 'DH' + k_list = [] + k_ids = [] + keeper_string = '' + keeper_swar = 0.0 for x in [keeper_1_name, keeper_2_name, keeper_3_name, keeper_4_name, keeper_5_name, keeper_6_name, keeper_7_name]: if x is not None: this_player = await get_player_by_name(current['season'], x) + k_ids.append(this_player['id']) k_list.append({ 'season': current['season'], 'team_id': this_team['id'], 'player_id': this_player['id'] }) + keeper_string += f'{get_pos_nickname(this_player["pos_1"])} - ' \ + f'{this_player["name"]} ({this_player["wara"]:.2f})\n' + keeper_swar += this_player['wara'] resp = await db_post('keepers', payload={ 'count': len(k_list), 'keepers': k_list }) - await interaction.edit_original_response(content=resp) + output_string = f'{resp}\nMoving remaining players to FA...' + await interaction.edit_original_response(content=output_string) + + fa_team = await get_team_by_abbrev('FA', current['season']) + p_query = await db_get('players', params=[ + ('season', current['season']), ('team_id', this_team['id']) + ]) + for x in p_query['players']: + if x['id'] not in k_ids: + x['team'] = fa_team + await patch_player(x) + + output_string += f'\nNon-kept players have been booted\nBuilding embeds...' + await interaction.edit_original_response(content=output_string) + + embed = get_team_embed(title=f'{this_team["lname"]} Keepers', team=this_team) + embed.add_field(name=f'Keepers', value=keeper_string) + embed.add_field(name='Total sWAR', value=f'{keeper_swar:.2f}') + await send_to_channel(self.bot, 'sba-network-news', content=None, embed=embed) + + output_string += f'\nJust sent keeper message to sba-network-news' + await interaction.edit_original_response(content=output_string) async def setup(bot):