def load(self, date): """ Fetch game data from mlb.com and generate a list of Game objects """ streams = self.loadStreams(date) iphone_xml = XML.ElementFromURL(Util.DateURL(date, C["URL"]["GAMES"]), cacheTime=C["GAME_CACHE_TTL"], isHTML=True) # for some reason switching to the soup parser (isHTML=True) made every game # appear twice. keep track of which games we've already listed. games_parsed = {} for xml in iphone_xml.xpath('game'): game = Game.fromXML(xml) if game: try: pseudo_id = game.home_team.fullName( ) + game.away_team.fullName() except: pseudo_id = None if pseudo_id in games_parsed: continue games_parsed[pseudo_id] = True if game.event_id: game.streams = streams[game.event_id] # game.streams.game = game else: game.streams = [] self.append(game)
def loadGames(self, date, streams): """ Fetch game data from mlb.com and generate a list of Game objects """ games = [] iphone_xml = XML.ElementFromURL(Util.DateURL(date, C["URL"]["GAMES"]), cacheTime=C["GAME_CACHE_TTL"]) for xml in iphone_xml.xpath('game'): game = Game.fromXML(xml) game.streams = streams[game.event_id] if game.event_id else {} games.append(game) # move favorite team's game(s) to the top for i, game in enumerate(games): if game.home_team.isFavorite() or game.away_team.isFavorite(): games.insert(0, games.pop(i)) return games
def load(self, date): """ Fetch game data from mlb.com and generate a list of Game objects """ streams = self.loadStreams(date) iphone_xml = XML.ElementFromURL(Util.DateURL(date, C["URL"]["GAMES"]), cacheTime=C["GAME_CACHE_TTL"], isHTML=True) # for some reason switching to the soup parser (isHTML=True) made every game # appear twice. keep track of which games we've already listed. games_parsed = {} for xml in iphone_xml.xpath('game'): game = Game.fromXML(xml) if game: try: pseudo_id = game.home_team.fullName() + game.away_team.fullName() except: pseudo_id = None if pseudo_id in games_parsed: continue games_parsed[pseudo_id] = True if game.event_id: game.streams = streams[game.event_id] # game.streams.game = game else: game.streams = [] self.append(game)