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
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
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'), '')
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'), '')