Update card_output.py

add stealing rg output, stop adding SSS players to defense rg if no card, stop writing extra baserunning & pitcher peripherals csv
This commit is contained in:
Cal Corum 2023-02-24 21:47:29 -06:00
parent ba9d9ef17a
commit 1b1c8a5c0d

View File

@ -88,7 +88,8 @@ async def main(argv):
'vl_si2', 'vl_si1', 'vl_siC', 'vl_bpsi', 'vl_hbp', 'vl_bb', 'vl_k', 'vl_lo', 'vl_po', 'vl_flya', 'vl_flybq', 'vl_si2', 'vl_si1', 'vl_siC', 'vl_bpsi', 'vl_hbp', 'vl_bb', 'vl_k', 'vl_lo', 'vl_po', 'vl_flya', 'vl_flybq',
'vl_flylfb', 'vl_flyrfb', 'vl_gba', 'vl_gbb', 'vl_gbc', 'vr_hr', 'vr_bphr', 'vr_tr', 'vr_do3', 'vr_do2', 'vl_flylfb', 'vl_flyrfb', 'vl_gba', 'vl_gbb', 'vl_gbc', 'vr_hr', 'vr_bphr', 'vr_tr', 'vr_do3', 'vr_do2',
'vr_doP', 'vr_si2', 'vr_si1', 'vr_siC', 'vr_bpsi', 'vr_hbp', 'vr_bb', 'vr_k', 'vr_lo', 'vr_po', 'vr_flya', 'vr_doP', 'vr_si2', 'vr_si1', 'vr_siC', 'vr_bpsi', 'vr_hbp', 'vr_bb', 'vr_k', 'vr_lo', 'vr_po', 'vr_flya',
'vr_flybq', 'vr_flylfb', 'vr_flyrfb', 'vr_gba', 'vr_gbb', 'vr_gbc' 'vr_flybq', 'vr_flylfb', 'vr_flyrfb', 'vr_gba', 'vr_gbb', 'vr_gbc', 'running', 'steal-high', 'steal-low',
'auto-jump', 'jump_pct', 'mlbteam', 'rarity'
]] ]]
baserunning_output = [[ baserunning_output = [[
'name', 'running', 'st-high', 'st-low', 'auto-jump', 'jump' 'name', 'running', 'st-high', 'st-low', 'auto-jump', 'jump'
@ -112,7 +113,7 @@ async def main(argv):
'gb-x-lf-vR', 'gb-x-cf-vR', 'gb-x-rf-vR' 'gb-x-lf-vR', 'gb-x-cf-vR', 'gb-x-rf-vR'
]] ]]
player_json_output = [[ player_json_output = [[
'sba-id', 'name', '', 'fg-id', 'bbref-id', '', '', '', 'cardset-id' 'sba-id', 'name', '', 'fg-id', 'bbref-id', '', '', '', 'cardset-id', 'rarity', '', 'pos_1', 'pos_2', 'pos_3'
]] ]]
defense_rg_output = [[ defense_rg_output = [[
'full name', 'p-rat', 'c-rat', '1b-rat', '2b-rat', '3b-rat', 'ss-rat', 'lf-rat', 'cf-rat', 'rf-rat', 'p-e', 'full name', 'p-rat', 'c-rat', '1b-rat', '2b-rat', '3b-rat', 'ss-rat', 'lf-rat', 'cf-rat', 'rf-rat', 'p-e',
@ -122,6 +123,7 @@ async def main(argv):
print(f'Found {all_players.count()} players in this cardset...') print(f'Found {all_players.count()} players in this cardset...')
for player in all_players: for player in all_players:
valid_player = False
b_lines = CardColumns.select().where( b_lines = CardColumns.select().where(
CardColumns.b_ratings.is_null(False) & (CardColumns.player == player) & CardColumns.b_ratings.is_null(False) & (CardColumns.player == player) &
CardColumns.b_ratings.endswith(f'{cardset.id}') CardColumns.b_ratings.endswith(f'{cardset.id}')
@ -176,14 +178,19 @@ async def main(argv):
vr_ratings.single_two, vr_ratings.single_one, vr_ratings.single_center, vr_ratings.bp_single, vr_ratings.single_two, vr_ratings.single_one, vr_ratings.single_center, vr_ratings.bp_single,
vr_ratings.hbp, vr_ratings.walk, vr_ratings.strikeout, vr_ratings.lineout, vr_ratings.popout, vr_ratings.hbp, vr_ratings.walk, vr_ratings.strikeout, vr_ratings.lineout, vr_ratings.popout,
vr_ratings.flyout_a, vr_ratings.flyout_bq, vr_ratings.flyout_lf_b, vr_ratings.flyout_rf_b, vr_ratings.flyout_a, vr_ratings.flyout_bq, vr_ratings.flyout_lf_b, vr_ratings.flyout_rf_b,
vr_ratings.groundout_a, vr_ratings.groundout_b, vr_ratings.groundout_c, rarity vr_ratings.groundout_a, vr_ratings.groundout_b, vr_ratings.groundout_c
] ]
all_positions = Position.select().where((Position.player == player) & (Position.cardset == cardset)) all_positions = Position.select().where((Position.player == player) & (Position.cardset == cardset))
pos_list = [x for x in all_positions] if all_positions.count() > 0:
position_string = get_position_string(pos_list, inc_p=False) pos_list = [x for x in all_positions]
position_string = get_position_string(pos_list, inc_p=False)
else:
pos_list = []
position_string = 'dh'
this_json.extend(ordered_positions(pos_list)) this_json.extend(ordered_positions(pos_list))
player_json_output.append(this_json) player_json_output.append(this_json)
valid_player = True
this_batter_data = BatterData.get_or_none(BatterData.player == player, BatterData.cardset == cardset) this_batter_data = BatterData.get_or_none(BatterData.player == player, BatterData.cardset == cardset)
if this_batter_data: if this_batter_data:
@ -194,8 +201,9 @@ async def main(argv):
this_batter_rg.extend([ this_batter_rg.extend([
this_batter_data.running, this_batter_data.st_high, this_batter_data.st_low, this_batter_data.running, this_batter_data.st_high, this_batter_data.st_low,
"Y" if this_batter_data.st_auto else "N", this_batter_data.st_jump "Y" if this_batter_data.st_auto else "N", this_batter_data.st_jump, rarity
]) ])
batter_rg_output.append(this_batter_rg)
this_output.extend([ this_output.extend([
position_string, this_batter_data.stealing, this_batter_data.bunting, this_batter_data.hit_and_run, position_string, this_batter_data.stealing, this_batter_data.bunting, this_batter_data.hit_and_run,
this_batter_data.running this_batter_data.running
@ -302,11 +310,12 @@ async def main(argv):
ordered_roles = ordered_pitching_positions(pos_list) ordered_roles = ordered_pitching_positions(pos_list)
this_json.extend(ordered_roles) this_json.extend(ordered_roles)
player_json_output.append(this_json) player_json_output.append(this_json)
valid_player = True
all_pos = Position.select().where( all_pos = Position.select().where(
(Position.player == player) & (Position.cardset == cardset) (Position.player == player) & (Position.cardset == cardset)
) )
if all_pos.count() > 0: if all_pos.count() > 0 and valid_player:
this_data = [player.name] this_data = [player.name]
this_data.extend(defense_rg(all_pos)) this_data.extend(defense_rg(all_pos))
defense_rg_output.append(this_data) defense_rg_output.append(this_data)
@ -314,9 +323,7 @@ async def main(argv):
print(f'Done processing players; outputting to {output_path}') print(f'Done processing players; outputting to {output_path}')
write_to_csv(output_path, f'batter-card-output-{now.strftime("%Y-%m-%d-%f")}', batter_output) write_to_csv(output_path, f'batter-card-output-{now.strftime("%Y-%m-%d-%f")}', batter_output)
write_to_csv(output_path, f'batter-rg-output-{now.strftime("%Y-%m-%d-%f")}', batter_rg_output) write_to_csv(output_path, f'batter-rg-output-{now.strftime("%Y-%m-%d-%f")}', batter_rg_output)
# write_to_csv(output_path, f'batter-baserunning-{now.strftime("%Y-%m-%d-%f")}', baserunning_output)
write_to_csv(output_path, f'pitcher-card-output-{now.strftime("%Y-%m-%d-%f")}', pitcher_output) write_to_csv(output_path, f'pitcher-card-output-{now.strftime("%Y-%m-%d-%f")}', pitcher_output)
# write_to_csv(output_path, f'pitcher-peripherals-{now.strftime("%Y-%m-%d-%f")}', pitcher_peripherals_output)
write_to_csv(output_path, f'pitcher-rg-output-{now.strftime("%Y-%m-%d-%f")}', pitcher_rg_output) write_to_csv(output_path, f'pitcher-rg-output-{now.strftime("%Y-%m-%d-%f")}', pitcher_rg_output)
write_to_csv(output_path, f'player-json-{now.strftime("%Y-%m-%d-%f")}', player_json_output) write_to_csv(output_path, f'player-json-{now.strftime("%Y-%m-%d-%f")}', player_json_output)
write_to_csv(output_path, f'defense-rg-{now.strftime("%Y-%m-%d-%f")}', defense_rg_output) write_to_csv(output_path, f'defense-rg-{now.strftime("%Y-%m-%d-%f")}', defense_rg_output)