Пример #1
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)
Пример #2
0
    game_dates = []
    if len(sys.argv) > 1:
        date_str = sys.argv[1]
        if date_str == "yesterday":
            game_dates.append(date.today() - timedelta(days=1))
        elif date_str == "week":
            dte = date.today()
            cur_day = dte.weekday()
            if cur_day == 0:
                # If today is Monday, assume we want last week's stats
                dte -= timedelta(days=1)
                cur_day = dte.weekday()
            while cur_day >= 0:
                game_dates.append(dte)
                dte -= timedelta(days=1)
                cur_day -= 1
        else:
            game_dates.append(datetime.strptime(date_str, "%Y%m%d"))

    if len(game_dates) == 0:
        game_dates.append(date.today())

    league = LeagueStats()
    for game_date in game_dates:
        for game in Scraper.game_data(game_date):
            for team in game_stats(game):
                league.add_stats(team)
    print league