Exemplo n.º 1
0
 def result(cls, ab, pa, pitch_list):
     """
     At Bat Result
     :param ab: at bat object(type:Beautifulsoup)
     :param pa: atbat data for plate appearance
     :param pitch_list: Pitching data
     :return: pa result value(dict)
     """
     atbat = OrderedDict()
     atbat['ball_ct'] = MlbamUtil.get_attribute_stats(ab, 'b', int, None)
     atbat['strike_ct'] = MlbamUtil.get_attribute_stats(ab, 's', int, None)
     atbat['pitch_seq'] = ''.join([pitch['pitch_res'] for pitch in pitch_list])
     atbat['pitch_type_seq'] = '|'.join([pitch['pitch_type'] for pitch in pitch_list])
     atbat['battedball_cd'] = RetroSheet.battedball_cd(pa['event_cd'], pa['event_tx'], pa['ab_des'])
     return atbat
Exemplo n.º 2
0
 def result(cls, ab, pa, pitch_list):
     """
     At Bat Result
     :param ab: at bat object(type:Beautifulsoup)
     :param pa: atbat data for plate appearance
     :param pitch_list: Pitching data
     :return: pa result value(dict)
     """
     atbat = OrderedDict()
     atbat['ball_ct'] = MlbamUtil.get_attribute_stats(ab, 'b', int, None)
     atbat['strike_ct'] = MlbamUtil.get_attribute_stats(ab, 's', int, None)
     atbat['pitch_seq'] = ''.join(
         [pitch['pitch_res'] for pitch in pitch_list])
     atbat['pitch_type_seq'] = '|'.join(
         [pitch['pitch_type'] for pitch in pitch_list])
     atbat['battedball_cd'] = RetroSheet.battedball_cd(
         pa['event_cd'], pa['event_tx'], pa['ab_des'])
     return atbat
Exemplo n.º 3
0
    def test_battedball_cd(self):
        """
        Get Battedball code
        """
        # Generic out
        self.assertEqual(RetroSheet.battedball_cd(2, 'Flyout', 'hoge fly out'), 'F')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Fly Out', 'hoge fly out'), 'F')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Sac Fly', 'hoge fly out'), 'F')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Sac Fly DP', 'hoge fly out'), 'F')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Lineout', 'hoge line out'), 'L')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Line Out', 'hoge line out'), 'L')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Bunt Lineout', 'hoge line out'), 'L')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Pop Out', 'hoge pop out'), 'P')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Pop out', 'hoge pop out'), 'P')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Bunt Pop out', 'hoge pop out'), 'P')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Groundout', 'hoge ground out'), 'G')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Ground Out', 'hoge ground out'), 'G')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Sac Bunt', 'hoge ground out'), 'G')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Bunt Groundout', 'hoge ground out'), 'G')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Grounded Into DP', 'hoge ground into dp'), 'G')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Forceout', 'hoge force out grounds'), 'G')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Forceout', 'hoge force out lines'), 'L')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Forceout', 'hoge force out flies'), 'F')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Forceout', 'hoge force out pops'), 'P')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Forceout', 'hoge force out'), '')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Double Play', 'hoge dp grounds'), 'G')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Double Play', 'hoge dp lines'), 'L')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Double Play', 'hoge dp flies'), 'F')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Double Play', 'hoge dp pops'), 'P')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Double Play', 'hoge dp'), '')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Triple Play', 'hoge tp grounds'), 'G')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Triple Play', 'hoge tp lines'), 'L')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Triple Play', 'hoge tp flies'), 'F')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Triple Play', 'hoge tp pops'), 'P')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Triple Play', 'hoge tp'), '')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Sacrifice Bunt D', 'hoge bunt dp grounds'), 'G')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Sacrifice Bunt D', 'hoge bunt dp lines'), 'L')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Sacrifice Bunt D', 'hoge bunt dp flies'), 'F')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Sacrifice Bunt D', 'hoge bunt dp pops'), 'P')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Sacrifice Bunt D', 'hoge bunt dp'), '')

        # Strike out
        self.assertEqual(RetroSheet.battedball_cd(3, 'Strikeout', 'hoge strike out'), '')
        self.assertEqual(RetroSheet.battedball_cd(3, 'Strikeout - DP', 'hoge strike out dp'), '')

        # walk, intent walk ,hit by pitch
        self.assertEqual(RetroSheet.battedball_cd(14, 'Walk', 'hoge walk'), '')
        self.assertEqual(RetroSheet.battedball_cd(15, 'Intent Walk', 'hoge intent walk'), '')
        self.assertEqual(RetroSheet.battedball_cd(16, 'Hit By Pitch', 'hoge hit by pitch'), '')

        # Interference
        self.assertEqual(RetroSheet.battedball_cd(17, 'hoge interference', 'hoge interference'), '')
        self.assertEqual(RetroSheet.battedball_cd(17, 'Interference fuga', 'hoge interference'), '')

        # Error
        self.assertEqual(RetroSheet.battedball_cd(18, 'hoge error', 'hoge error'), '')
        self.assertEqual(RetroSheet.battedball_cd(18, 'fuga Error', 'fuga error'), '')
        # Not Error
        self.assertEqual(RetroSheet.battedball_cd(0, 'error fuga', 'fuga not error'), '')

        # Fielder's Choice
        self.assertEqual(RetroSheet.battedball_cd(19, 'Fielders Choice Out', 'hoge fielders choice'), '')
        self.assertEqual(RetroSheet.battedball_cd(19, 'Fielders Choice', 'hoge fielders choice'), '')

        # Single, 2B, 3B, HR
        self.assertEqual(RetroSheet.battedball_cd(20, 'Single', 'hoge Single on a line drive to fuga'), 'L')
        self.assertEqual(RetroSheet.battedball_cd(20, 'Single', 'hoge Single fly ball to fuga'), 'F')
        self.assertEqual(RetroSheet.battedball_cd(20, 'Single', 'hoge Single ground ball to fuga'), 'G')
        self.assertEqual(RetroSheet.battedball_cd(20, 'Single', 'hoge Single pop up to fuga'), 'P')
        self.assertEqual(RetroSheet.battedball_cd(20, 'Single', 'hoge Single'), '')
        self.assertEqual(RetroSheet.battedball_cd(21, 'Double', 'hoge 2B on a line drive to fuga'), 'L')
        self.assertEqual(RetroSheet.battedball_cd(21, 'Double', 'hoge 2B fly ball to fuga'), 'F')
        self.assertEqual(RetroSheet.battedball_cd(21, 'Double', 'hoge 2B ground ball to fuga'), 'G')
        self.assertEqual(RetroSheet.battedball_cd(21, 'Double', 'hoge 2B pop up to fuga'), 'P')
        self.assertEqual(RetroSheet.battedball_cd(21, 'Double', 'hoge 2B'), '')
        self.assertEqual(RetroSheet.battedball_cd(22, 'Triple', 'hoge 3B on a line drive to fuga'), 'L')
        self.assertEqual(RetroSheet.battedball_cd(22, 'Triple', 'hoge 3B fly ball to fuga'), 'F')
        self.assertEqual(RetroSheet.battedball_cd(22, 'Triple', 'hoge 3B ground ball to fuga'), 'G')
        self.assertEqual(RetroSheet.battedball_cd(22, 'Triple', 'hoge 3B pop up to fuga'), 'P')
        self.assertEqual(RetroSheet.battedball_cd(22, 'Triple', 'hoge 3B'), '')
        self.assertEqual(RetroSheet.battedball_cd(23, 'Home Run', 'hoge 3B on a line drive to fuga'), 'L')
        self.assertEqual(RetroSheet.battedball_cd(23, 'Home Run', 'hoge 3B fly ball to fuga'), 'F')
        self.assertEqual(RetroSheet.battedball_cd(23, 'Home Run', 'hoge 3B ground ball to fuga'), 'G')
        self.assertEqual(RetroSheet.battedball_cd(23, 'Home Run', 'hoge 3B pop up to fuga'), 'P')
        self.assertEqual(RetroSheet.battedball_cd(23, 'Home Run', 'hoge 3B'), '')

        # Runner Out
        self.assertEqual(RetroSheet.battedball_cd(6, 'Runner Out', 'hoge caught stealing'), '')
        self.assertEqual(RetroSheet.battedball_cd(8, 'Runner Out', 'hoge picks off'), '')

        # Unknown Event
        self.assertEqual(RetroSheet.battedball_cd(0, 'bar', 'hoge picks off'), '')
        self.assertEqual(RetroSheet.battedball_cd(0, 'Runner Out', 'hoge fuga'), '')
Exemplo n.º 4
0
    def test_battedball_cd(self):
        """
        Get Battedball code
        """
        # Generic out
        self.assertEqual(RetroSheet.battedball_cd(2, 'Flyout', 'hoge fly out'),
                         'F')
        self.assertEqual(
            RetroSheet.battedball_cd(2, 'Fly Out', 'hoge fly out'), 'F')
        self.assertEqual(
            RetroSheet.battedball_cd(2, 'Sac Fly', 'hoge fly out'), 'F')
        self.assertEqual(
            RetroSheet.battedball_cd(2, 'Sac Fly DP', 'hoge fly out'), 'F')
        self.assertEqual(
            RetroSheet.battedball_cd(2, 'Lineout', 'hoge line out'), 'L')
        self.assertEqual(
            RetroSheet.battedball_cd(2, 'Line Out', 'hoge line out'), 'L')
        self.assertEqual(
            RetroSheet.battedball_cd(2, 'Bunt Lineout', 'hoge line out'), 'L')
        self.assertEqual(
            RetroSheet.battedball_cd(2, 'Pop Out', 'hoge pop out'), 'P')
        self.assertEqual(
            RetroSheet.battedball_cd(2, 'Pop out', 'hoge pop out'), 'P')
        self.assertEqual(
            RetroSheet.battedball_cd(2, 'Bunt Pop out', 'hoge pop out'), 'P')
        self.assertEqual(
            RetroSheet.battedball_cd(2, 'Groundout', 'hoge ground out'), 'G')
        self.assertEqual(
            RetroSheet.battedball_cd(2, 'Ground Out', 'hoge ground out'), 'G')
        self.assertEqual(
            RetroSheet.battedball_cd(2, 'Sac Bunt', 'hoge ground out'), 'G')
        self.assertEqual(
            RetroSheet.battedball_cd(2, 'Bunt Groundout', 'hoge ground out'),
            'G')
        self.assertEqual(
            RetroSheet.battedball_cd(2, 'Grounded Into DP',
                                     'hoge ground into dp'), 'G')
        self.assertEqual(
            RetroSheet.battedball_cd(2, 'Forceout', 'hoge force out grounds'),
            'G')
        self.assertEqual(
            RetroSheet.battedball_cd(2, 'Forceout', 'hoge force out lines'),
            'L')
        self.assertEqual(
            RetroSheet.battedball_cd(2, 'Forceout', 'hoge force out flies'),
            'F')
        self.assertEqual(
            RetroSheet.battedball_cd(2, 'Forceout', 'hoge force out pops'),
            'P')
        self.assertEqual(
            RetroSheet.battedball_cd(2, 'Forceout', 'hoge force out'), '')
        self.assertEqual(
            RetroSheet.battedball_cd(2, 'Double Play', 'hoge dp grounds'), 'G')
        self.assertEqual(
            RetroSheet.battedball_cd(2, 'Double Play', 'hoge dp lines'), 'L')
        self.assertEqual(
            RetroSheet.battedball_cd(2, 'Double Play', 'hoge dp flies'), 'F')
        self.assertEqual(
            RetroSheet.battedball_cd(2, 'Double Play', 'hoge dp pops'), 'P')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Double Play', 'hoge dp'),
                         '')
        self.assertEqual(
            RetroSheet.battedball_cd(2, 'Triple Play', 'hoge tp grounds'), 'G')
        self.assertEqual(
            RetroSheet.battedball_cd(2, 'Triple Play', 'hoge tp lines'), 'L')
        self.assertEqual(
            RetroSheet.battedball_cd(2, 'Triple Play', 'hoge tp flies'), 'F')
        self.assertEqual(
            RetroSheet.battedball_cd(2, 'Triple Play', 'hoge tp pops'), 'P')
        self.assertEqual(RetroSheet.battedball_cd(2, 'Triple Play', 'hoge tp'),
                         '')
        self.assertEqual(
            RetroSheet.battedball_cd(2, 'Sacrifice Bunt D',
                                     'hoge bunt dp grounds'), 'G')
        self.assertEqual(
            RetroSheet.battedball_cd(2, 'Sacrifice Bunt D',
                                     'hoge bunt dp lines'), 'L')
        self.assertEqual(
            RetroSheet.battedball_cd(2, 'Sacrifice Bunt D',
                                     'hoge bunt dp flies'), 'F')
        self.assertEqual(
            RetroSheet.battedball_cd(2, 'Sacrifice Bunt D',
                                     'hoge bunt dp pops'), 'P')
        self.assertEqual(
            RetroSheet.battedball_cd(2, 'Sacrifice Bunt D', 'hoge bunt dp'),
            '')

        # Strike out
        self.assertEqual(
            RetroSheet.battedball_cd(3, 'Strikeout', 'hoge strike out'), '')
        self.assertEqual(
            RetroSheet.battedball_cd(3, 'Strikeout - DP',
                                     'hoge strike out dp'), '')

        # walk, intent walk ,hit by pitch
        self.assertEqual(RetroSheet.battedball_cd(14, 'Walk', 'hoge walk'), '')
        self.assertEqual(
            RetroSheet.battedball_cd(15, 'Intent Walk', 'hoge intent walk'),
            '')
        self.assertEqual(
            RetroSheet.battedball_cd(16, 'Hit By Pitch', 'hoge hit by pitch'),
            '')

        # Interference
        self.assertEqual(
            RetroSheet.battedball_cd(17, 'hoge interference',
                                     'hoge interference'), '')
        self.assertEqual(
            RetroSheet.battedball_cd(17, 'Interference fuga',
                                     'hoge interference'), '')

        # Error
        self.assertEqual(
            RetroSheet.battedball_cd(18, 'hoge error', 'hoge error'), '')
        self.assertEqual(
            RetroSheet.battedball_cd(18, 'fuga Error', 'fuga error'), '')
        # Not Error
        self.assertEqual(
            RetroSheet.battedball_cd(0, 'error fuga', 'fuga not error'), '')

        # Fielder's Choice
        self.assertEqual(
            RetroSheet.battedball_cd(19, 'Fielders Choice Out',
                                     'hoge fielders choice'), '')
        self.assertEqual(
            RetroSheet.battedball_cd(19, 'Fielders Choice',
                                     'hoge fielders choice'), '')

        # Single, 2B, 3B, HR
        self.assertEqual(
            RetroSheet.battedball_cd(20, 'Single',
                                     'hoge Single on a line drive to fuga'),
            'L')
        self.assertEqual(
            RetroSheet.battedball_cd(20, 'Single',
                                     'hoge Single fly ball to fuga'), 'F')
        self.assertEqual(
            RetroSheet.battedball_cd(20, 'Single',
                                     'hoge Single ground ball to fuga'), 'G')
        self.assertEqual(
            RetroSheet.battedball_cd(20, 'Single',
                                     'hoge Single pop up to fuga'), 'P')
        self.assertEqual(RetroSheet.battedball_cd(20, 'Single', 'hoge Single'),
                         '')
        self.assertEqual(
            RetroSheet.battedball_cd(21, 'Double',
                                     'hoge 2B on a line drive to fuga'), 'L')
        self.assertEqual(
            RetroSheet.battedball_cd(21, 'Double', 'hoge 2B fly ball to fuga'),
            'F')
        self.assertEqual(
            RetroSheet.battedball_cd(21, 'Double',
                                     'hoge 2B ground ball to fuga'), 'G')
        self.assertEqual(
            RetroSheet.battedball_cd(21, 'Double', 'hoge 2B pop up to fuga'),
            'P')
        self.assertEqual(RetroSheet.battedball_cd(21, 'Double', 'hoge 2B'), '')
        self.assertEqual(
            RetroSheet.battedball_cd(22, 'Triple',
                                     'hoge 3B on a line drive to fuga'), 'L')
        self.assertEqual(
            RetroSheet.battedball_cd(22, 'Triple', 'hoge 3B fly ball to fuga'),
            'F')
        self.assertEqual(
            RetroSheet.battedball_cd(22, 'Triple',
                                     'hoge 3B ground ball to fuga'), 'G')
        self.assertEqual(
            RetroSheet.battedball_cd(22, 'Triple', 'hoge 3B pop up to fuga'),
            'P')
        self.assertEqual(RetroSheet.battedball_cd(22, 'Triple', 'hoge 3B'), '')
        self.assertEqual(
            RetroSheet.battedball_cd(23, 'Home Run',
                                     'hoge 3B on a line drive to fuga'), 'L')
        self.assertEqual(
            RetroSheet.battedball_cd(23, 'Home Run',
                                     'hoge 3B fly ball to fuga'), 'F')
        self.assertEqual(
            RetroSheet.battedball_cd(23, 'Home Run',
                                     'hoge 3B ground ball to fuga'), 'G')
        self.assertEqual(
            RetroSheet.battedball_cd(23, 'Home Run', 'hoge 3B pop up to fuga'),
            'P')
        self.assertEqual(RetroSheet.battedball_cd(23, 'Home Run', 'hoge 3B'),
                         '')

        # Runner Out
        self.assertEqual(
            RetroSheet.battedball_cd(6, 'Runner Out', 'hoge caught stealing'),
            '')
        self.assertEqual(
            RetroSheet.battedball_cd(8, 'Runner Out', 'hoge picks off'), '')

        # Unknown Event
        self.assertEqual(RetroSheet.battedball_cd(0, 'bar', 'hoge picks off'),
                         '')
        self.assertEqual(
            RetroSheet.battedball_cd(0, 'Runner Out', 'hoge fuga'), '')