示例#1
0
    def scrape(self):
        scrape_date = datetime.now()
        # Scrape yesterday's games up until 10am Central
        # Dates/times are UTC, which is 5 hours ahead of Central
        if scrape_date.hour < 15:
            scrape_date -= timedelta(days=1)

        for game in Scraper.game_data(scrape_date):
            Game.from_scoreboard_data(game)

        for stat in CachedStats.all():
            stat.delete()
示例#2
0
    def get(self, *a):
        return_type = self.request.get("as").lower() or "text"
        key_name = CachedStats.generate_key("".join(filter(None, a)), return_type)
        cached = CachedStats.get_by_key_name(key_name)

        if not cached:
            cached = CachedStats(key_name = key_name)
            (start, end) = daterange(a)
            league = LeagueStats()
            query = Game.all().filter("date >= ", start).filter("date <= ", end)

            for game in query.run():
                league.add_stats(game.home_stats())
                league.add_stats(game.away_stats())
            if return_type == "json":
                cached.response = league.to_json()
            else:
                template_values = {'league_stats': league}
                template = JINJA_ENVIRONMENT.get_template('index.html')
                cached.response = template.render(template_values)
            cached.put()
            
        if return_type == "json":
            self.response.headers["Content-Type"] = "application/json"
            self.response.write(cached.response)
        else:
            self.response.write(cached.response)
示例#3
0
 def get(self, *a):
     start, end = daterange(a)
     games = []
     while start <= end:
         for game in Scraper.game_data(start):
             games.append(Game.from_scoreboard_data(game))
         start += timedelta(days=1)
         
     for stat in CachedStats.all():
         stat.delete()