Created
November 20, 2012 18:12
-
-
Save cwmanning/4119752 to your computer and use it in GitHub Desktop.
BoxScores
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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