Pitching Result
        Pitch f/x fields: https://fastballs.wordpress.com/category/pitchfx-glossary/
        :param pitch: pitch object(type:Beautifulsoup)
        :param pa: At bat data for pa(dict)
        :param pitch_list: Pitching
        :param ball_tally: Ball telly
        :param strike_tally: Strike telly
        :return: {
            'retro_game_id': Retrosheet Game id
            'game_type': Game Type(S/R/F/D/L/W)
            'game_type_des': Game Type Description
            (Spring Training or Regular Season or Wild-card Game or Divisional Series or LCS or World Series)
            'st_fl': Spring Training FLAG(T or F)
            'regseason_fl': Regular Season FLAG(T or F)
            'playoff_fl': Play Off Flag(T or F)
            'local_game_time': Game Time(UTC -5)
            'game_id': Game Id
            'home_team_id': Home Team Id
            'home_team_lg': Home Team league(AL or NL)
            'away_team_id': Away Team Id
            'away_team_lg': Away Team league(AL or NL)
            'home_team_name': Home Team Name
            'away_team_name': Away Team Name
            'home_team_name_full': Home Team Name(Full Name)
            'away_team_name_full': Away Team Name(Full Name)
            'interleague_fl': Inter League Flag(T or F)
            'park_id': Park Id
            'park_name': Park Name
            'park_loc': Park Location
            'inning_number': Inning Number
            'bat_home_id': Batter Id
            'outs_ct': Out count
            'pit_mlbid': Pitcher Id
            'pit_first_name': Pitcher First Name
            'pit_last_name': Pitcher Last Name
            'pit_box_name': Pitcher Box name
            'pit_hand_cd': Pitcher Throw Hand(R or L)
            'bat_first_name': Batter First Name
            'bat_last_name': Batter Last Name
            'bat_box_name': Batter Box name
            'ab_number': At Bat Sequence Number in Game
            'start_bases': Bases(Before At Bat)
            (___, 1__, 12_, 123, etc...)
            'end_bases': Bases(After At Bat)
            (___, 1__, 12_, 123, etc...)
            'event_outs_ct': Event Out Count
            'pa_ball_ct': Plate appearance Ball count
            'pa_strike_ct': Plate appearance Strike count
            'pitch_seq': Pitch Sequence(Strike or Ball) ex: B, SSB, BBSBS etc...
            'pa_terminal_fl': Plate appearance Terminate Flag(T or F)
            'pa_event_cd': Event Code for Retrosheet http://www.retrosheet.org/datause.txt
            'pitch_res': Pitch Response(S or B or X) X = In Play
            'pitch_des': Pitch Description
            'pitch_id': Pitch Id
            'x': Point for X(inches)
            'y': Point for Y(inches)
            'start_speed': The pitch speed(MPH) at the initial point
            'end_speed': The pitch speed(MPH) at the current batters
            'sz_top': The distance in feet from the ground to the top of the current batter’s
            'sz_bot': The distance in feet from the ground to the bottom of the current batter’s
            'pfx_x': The horizontal movement, in inches, of the pitch between the release point and home plate
            'pfx_z': The vertical movement, in inches, of the pitch between the release point and home plate
            'px': The left/right distance, in feet, of the pitch from the middle of the plate as it crossed home plate
            'pz': The height of the pitch in feet as it crossed the front of home plate
            'x0': The left/right distance, in feet, of the pitch, measured at the initial point
            'y0': The distance in feet from home plate where the PITCHf/x system is set to measure the initial parameters
            'z0': The height, in feet, of the pitch, measured at the initial point
            'vx0': The velocity of the pitch, in feet per second, in three dimensions, measured at the initial point
            'vy0': The velocity of the pitch, in feet per second, in three dimensions, measured at the initial point
            'vz0': The velocity of the pitch, in feet per second, in three dimensions, measured at the initial point
            'ax': The acceleration of the pitch, in feet per second per second, in three dimensions, measured at the initial point
            'ay': The acceleration of the pitch, in feet per second per second, in three dimensions, measured at the initial point
            'az': The acceleration of the pitch, in feet per second per second, in three dimensions, measured at the initial point
            'break_y': The distance in feet from the ground to the top of the current batter’s
            'break_angle': The angle, in degrees, from vertical to the straight line path from the release point to where the pitch crossed the front of home plate, as seen from the catcher’s/umpire’s perspective
            'break_length': The measurement of the greatest distance, in inches, between the trajectory of the pitch at any point between the release point and the front of home plate
            'pitch_type': Pitch Type
            'pitch_type_seq': Pitch type Sequence, ex:FF|CU|FF
            'type_confidence': Pitch type confidence
            'zone': Pitch Zone
            'spin_dir': Pitch Spin Dir
            'spin_rate': Pitch Spin Rate
            'sv_id': Pitch in the air(From Datetime_To Datetime)
            'event_num': Event Sequence Number(atbat, pitch, action)
        }

def row(cls, pitch, pa, pitch_list, ball_tally, strike_tally):
        """
        Pitching Result
        Pitch f/x fields: https://fastballs.wordpress.com/category/pitchfx-glossary/
        :param pitch: pitch object(type:Beautifulsoup)
        :param pa: At bat data for pa(dict)
        :param pitch_list: Pitching
        :param ball_tally: Ball telly
        :param strike_tally: Strike telly
        :return: {
            'retro_game_id': Retrosheet Game id
            'game_type': Game Type(S/R/F/D/L/W)
            'game_type_des': Game Type Description
            (Spring Training or Regular Season or Wild-card Game or Divisional Series or LCS or World Series)
            'st_fl': Spring Training FLAG(T or F)
            'regseason_fl': Regular Season FLAG(T or F)
            'playoff_fl': Play Off Flag(T or F)
            'local_game_time': Game Time(UTC -5)
            'game_id': Game Id
            'home_team_id': Home Team Id
            'home_team_lg': Home Team league(AL or NL)
            'away_team_id': Away Team Id
            'away_team_lg': Away Team league(AL or NL)
            'home_team_name': Home Team Name
            'away_team_name': Away Team Name
            'home_team_name_full': Home Team Name(Full Name)
            'away_team_name_full': Away Team Name(Full Name)
            'interleague_fl': Inter League Flag(T or F)
            'park_id': Park Id
            'park_name': Park Name
            'park_loc': Park Location
            'inning_number': Inning Number
            'bat_home_id': Batter Id
            'outs_ct': Out count
            'pit_mlbid': Pitcher Id
            'pit_first_name': Pitcher First Name
            'pit_last_name': Pitcher Last Name
            'pit_box_name': Pitcher Box name
            'pit_hand_cd': Pitcher Throw Hand(R or L)
            'bat_first_name': Batter First Name
            'bat_last_name': Batter Last Name
            'bat_box_name': Batter Box name
            'ab_number': At Bat Sequence Number in Game
            'start_bases': Bases(Before At Bat)
            (___, 1__, 12_, 123, etc...)
            'end_bases': Bases(After At Bat)
            (___, 1__, 12_, 123, etc...)
            'event_outs_ct': Event Out Count
            'pa_ball_ct': Plate appearance Ball count
            'pa_strike_ct': Plate appearance Strike count
            'pitch_seq': Pitch Sequence(Strike or Ball) ex: B, SSB, BBSBS etc...
            'pa_terminal_fl': Plate appearance Terminate Flag(T or F)
            'pa_event_cd': Event Code for Retrosheet http://www.retrosheet.org/datause.txt
            'pitch_res': Pitch Response(S or B or X) X = In Play
            'pitch_des': Pitch Description
            'pitch_id': Pitch Id
            'x': Point for X(inches)
            'y': Point for Y(inches)
            'start_speed': The pitch speed(MPH) at the initial point
            'end_speed': The pitch speed(MPH) at the current batters
            'sz_top': The distance in feet from the ground to the top of the current batter’s
            'sz_bot': The distance in feet from the ground to the bottom of the current batter’s
            'pfx_x': The horizontal movement, in inches, of the pitch between the release point and home plate
            'pfx_z': The vertical movement, in inches, of the pitch between the release point and home plate
            'px': The left/right distance, in feet, of the pitch from the middle of the plate as it crossed home plate
            'pz': The height of the pitch in feet as it crossed the front of home plate
            'x0': The left/right distance, in feet, of the pitch, measured at the initial point
            'y0': The distance in feet from home plate where the PITCHf/x system is set to measure the initial parameters
            'z0': The height, in feet, of the pitch, measured at the initial point
            'vx0': The velocity of the pitch, in feet per second, in three dimensions, measured at the initial point
            'vy0': The velocity of the pitch, in feet per second, in three dimensions, measured at the initial point
            'vz0': The velocity of the pitch, in feet per second, in three dimensions, measured at the initial point
            'ax': The acceleration of the pitch, in feet per second per second, in three dimensions, measured at the initial point
            'ay': The acceleration of the pitch, in feet per second per second, in three dimensions, measured at the initial point
            'az': The acceleration of the pitch, in feet per second per second, in three dimensions, measured at the initial point
            'break_y': The distance in feet from the ground to the top of the current batter’s
            'break_angle': The angle, in degrees, from vertical to the straight line path from the release point to where the pitch crossed the front of home plate, as seen from the catcher’s/umpire’s perspective
            'break_length': The measurement of the greatest distance, in inches, between the trajectory of the pitch at any point between the release point and the front of home plate
            'pitch_type': Pitch Type
            'pitch_type_seq': Pitch type Sequence, ex:FF|CU|FF
            'type_confidence': Pitch type confidence
            'zone': Pitch Zone
            'spin_dir': Pitch Spin Dir
            'spin_rate': Pitch Spin Rate
            'sv_id': Pitch in the air(From Datetime_To Datetime)
            'event_num': Event Sequence Number(atbat, pitch, action)
        }
        """
        pitch_res = MlbamUtil.get_attribute_stats(pitch, 'type', str, MlbamConst.UNKNOWN_FULL)
        pitch_seq = [pitch['pitch_res'] for pitch in pitch_list]
        pitch_seq.extend([pitch_res])
        pitch_type = MlbamUtil.get_attribute_stats(pitch, 'pitch_type', str, MlbamConst.UNKNOWN_SHORT)
        pitch_type_seq = [pitch['pitch_type'] for pitch in pitch_list]
        pitch_type_seq.extend([pitch_type])
        pitching = OrderedDict()
        pitching['retro_game_id'] = pa['retro_game_id']
        pitching['year'] = pa['year']
        pitching['month'] = pa['month']
        pitching['day'] = pa['day']
        pitching['st_fl'] = pa['st_fl']
        pitching['regseason_fl'] = pa['regseason_fl']
        pitching['playoff_fl'] = pa['playoff_fl']
        pitching['game_type'] = pa['game_type']
        pitching['game_type_des'] = pa['game_type_des']
        pitching['local_game_time'] = pa['local_game_time']
        pitching['game_id'] = pa['game_id']
        pitching['home_team_id'] = pa['home_team_id']
        pitching['away_team_id'] = pa['away_team_id']
        pitching['home_team_lg'] = pa['home_team_lg']
        pitching['away_team_lg'] = pa['away_team_lg']
        pitching['interleague_fl'] = pa['interleague_fl']
        pitching['park_id'] = pa['park_id']
        pitching['park_name'] = pa['park_name']
        pitching['park_location'] = pa['park_location']
        pitching['inning_number'] = pa['inning_number']
        pitching['bat_home_id'] = pa['bat_home_id']
        pitching['outs_ct'] = pa['outs_ct']
        pitching['pit_mlbid'] = pa['pit_mlbid']
        pitching['pit_first_name'] = pa['pit_first_name']
        pitching['pit_last_name'] = pa['pit_last_name']
        pitching['pit_box_name'] = pa['pit_box_name']
        pitching['pit_hand_cd'] = pa['pit_hand_cd']
        pitching['bat_mlbid'] = pa['bat_mlbid']
        pitching['bat_first_name'] = pa['bat_first_name']
        pitching['bat_last_name'] = pa['bat_last_name']
        pitching['bat_box_name'] = pa['bat_box_name']
        pitching['bat_hand_cd'] = pa['bat_hand_cd']
        pitching['ab_number'] = pa['ab_number']
        pitching['start_bases'] = pa['start_bases']
        pitching['end_bases'] = pa['end_bases']
        pitching['event_outs_ct'] = pa['event_outs_ct']
        pitching['pa_ball_ct'] = ball_tally
        pitching['pa_strike_ct'] = strike_tally
        pitching['pitch_seq'] = ''.join(pitch_seq)
        pitching['pa_terminal_fl'] = cls.is_pa_terminal(ball_tally, strike_tally, pitch_res, pa['event_cd'])
        pitching['pa_event_cd'] = pa['event_cd']
        pitching['pitch_res'] = pitch_res
        pitching['pitch_des'] = MlbamUtil.get_attribute_stats(pitch, 'des', str, MlbamConst.UNKNOWN_FULL)
        pitching['pitch_id'] = MlbamUtil.get_attribute_stats(pitch, 'id', int, None)
        pitching['x'] = MlbamUtil.get_attribute_stats(pitch, 'x', float, None)
        pitching['y'] = MlbamUtil.get_attribute_stats(pitch, 'y', float, None)
        pitching['start_speed'] = MlbamUtil.get_attribute_stats(pitch, 'start_speed', float, None)
        pitching['end_speed'] = MlbamUtil.get_attribute_stats(pitch, 'end_speed', float, None)
        pitching['sz_top'] = MlbamUtil.get_attribute_stats(pitch, 'sz_top', float, None)
        pitching['sz_bot'] = MlbamUtil.get_attribute_stats(pitch, 'sz_bot', float, None)
        pitching['pfx_x'] = MlbamUtil.get_attribute_stats(pitch, 'pfx_x', float, None)
        pitching['pfx_z'] = MlbamUtil.get_attribute_stats(pitch, 'pfx_z', float, None)
        pitching['px'] = MlbamUtil.get_attribute_stats(pitch, 'px', float, None)
        pitching['pz'] = MlbamUtil.get_attribute_stats(pitch, 'pz', float, None)
        pitching['x0'] = MlbamUtil.get_attribute_stats(pitch, 'x0', float, None)
        pitching['y0'] = MlbamUtil.get_attribute_stats(pitch, 'y0', float, None)
        pitching['z0'] = MlbamUtil.get_attribute_stats(pitch, 'z0', float, None)
        pitching['vx0'] = MlbamUtil.get_attribute_stats(pitch, 'vx0', float, None)
        pitching['vy0'] = MlbamUtil.get_attribute_stats(pitch, 'vy0', float, None)
        pitching['vz0'] = MlbamUtil.get_attribute_stats(pitch, 'vz0', float, None)
        pitching['ax'] = MlbamUtil.get_attribute_stats(pitch, 'ax', float, None)
        pitching['ay'] = MlbamUtil.get_attribute_stats(pitch, 'ay', float, None)
        pitching['az'] = MlbamUtil.get_attribute_stats(pitch, 'az', float, None)
        pitching['break_y'] = MlbamUtil.get_attribute_stats(pitch, 'break_y', float, None)
        pitching['break_angle'] = MlbamUtil.get_attribute_stats(pitch, 'break_angle', float, None)
        pitching['break_length'] = MlbamUtil.get_attribute_stats(pitch, 'break_length', float, None)
        pitching['pitch_type'] = pitch_type
        pitching['pitch_type_seq'] = '|'.join(pitch_type_seq)
        pitching['type_confidence'] = MlbamUtil.get_attribute_stats(pitch, 'type_confidence', float, None)
        pitching['zone'] = MlbamUtil.get_attribute_stats(pitch, 'zone', float, None)
        pitching['spin_dir'] = MlbamUtil.get_attribute_stats(pitch, 'spin_dir', float, None)
        pitching['spin_rate'] = MlbamUtil.get_attribute_stats(pitch, 'spin_rate', float, None)
        pitching['sv_id'] = MlbamUtil.get_attribute_stats(pitch, 'sv_id', str, None)
        pitching['event_num'] = MlbamUtil.get_attribute_stats(pitch, 'event_num', int, -1)
        return pitching