def _update_games(self, stream): events = parse_ical_nflschedule(stream) latest_game = self._get_latest_scored_game() updated = False for event in events: edata = parse_ical_nflgame(event) if latest_game is None: self.insert_new_game(event, data=edata) updated = True else: new_game = False if edata['start'] > latest_game.start: try: game = self.get_game_from_ical_event(event) except NoResultFound: new_game = True game = self.insert_new_game(event) updated = True if not new_game: # check score q = self.session.query(NFLGameScore) score = q.get(game.id) if score is None: game, game_updated = self.update_game(game, event) if game_updated: updated = True return updated
def populate_games(self, bytes): events = parse_ical_nflschedule(bytes) for event in events: self.insert_new_game(event)