Skip to content

Instantly share code, notes, and snippets.

@cwmanning
Created November 20, 2012 18:12
Show Gist options
  • Save cwmanning/4119752 to your computer and use it in GitHub Desktop.
Save cwmanning/4119752 to your computer and use it in GitHub Desktop.
BoxScores
class BoxScores(object):
def __init__(self, data):
# boxscores key is required, let fail if not present
self.data = accum(data, 'boxscores')
def event(self):
return get_nested(self.data, 'event_metadata', 0, default=None)
def game_story(self):
story = get_nested(self.data, 'game_story', default={})
if not story:
story = get_nested(self.data, 'game_preview', default={})
return get_nested(story, 0, 'body', 0, 'p', default=None)
def officials(self):
return get_nested(self.data, 'officials', 0, 'data', default=None)
# away team
def away_score(self):
return self._get_score('away_team')
def away_team(self):
return self._get_team('away')
def away_team_stats(self):
return self._get_team_stats('away')
# home team
def home_score(self):
return self._get_score('home_team')
def home_team(self):
return self._get_team('home')
def home_team_stats(self):
return self._get_team_stats('home')
# helpers
def _get_score(self, key):
scores = accum(self.data, 'linescores')
return get_nested(scores, key, 0, default=None)
def _get_team(self, key):
teams = get_nested(self.data, 'event_metadata', 0, 'team_metadata', 0, default=None)
return Team.from_dict(get_nested(teams, key, 0, default=None))
def _get_team_stats(self, key):
return get_nested(self.data, 'stats', 0, key, 0, 'team', 0, 'data', default=None)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment