def __is_player_in_year(self, player_id, year): d = Database() players_in_year = d.load_players(year) return player_id in players_in_year
def get(self,request,year,use_private_names=None,use_memcache=True): # TODO how to get final pool state? year = int(year) loading_memcache = request == None d = Database() if not(d.is_year_valid(year)): assert not loading_memcache,"When loading memcache, year needs to be valid " data={'year':year} return render(request,"pick10/bad_year.html",data,status=400) if loading_memcache: access = None else: access = UserAccess(request.user) use_private_names = self.__determine_private_access(access,use_private_names) # setup memcache parameters if use_private_names: body_key = "overall_private_%d" % (year) else: body_key = "overall_public_%d" % (year) pool_state = d.get_pool_state(year) weeks_in_year = d.get_week_numbers(year) last_week_number = weeks_in_year[-1] years_in_pool = sorted(d.get_years(),reverse=True) sidebar = render_to_string("pick10/year_sidebar.html",{'years_in_pool':years_in_pool,'year':year}) if pool_state == "week_setup": # use last weeks results weeks_in_year.remove(last_week_number) last_week_number = last_week_number - 1 # What if we need to go back a year? if last_week_number == 0: year -= 1 pool_state = d.get_pool_state(year) weeks_in_year = d.get_week_numbers(year) last_week_number = weeks_in_year[-1] # look for hit in the memcache if not loading_memcache and use_memcache: body = cache.get(body_key) memcache_hit = body != None if memcache_hit: data = {'body_content':body,'side_block_content':sidebar,'year':year,'weeks_in_year':weeks_in_year } self.__set_player_id(access,data) WeekNavbar(year,last_week_number,'overall',request.user).add_parameters(data) return render(request,"pick10/overall_results.html",data) years_in_pool = sorted(d.get_years(),reverse=True) if pool_state == "not_started": players = d.load_players(year) data={'year':year, 'num_players':len(players)} body = render_to_string("pick10/overall_not_started.html",data) cache.set(body_key,body) if loading_memcache: return data = {'body_content':body,'side_block_content':sidebar,'year':year } WeekNavbar(year,last_week_number,'overall',request.user).add_parameters(data) return render(request,"pick10/overall_results.html",data) completed_games = calc_completed_games(year) self.cor = CalculateOverallResults(year,completed_games,use_private_names,use_weeks=weeks_in_year) results = self.cor.get_results() content_params = dict() content_params['year'] = year content_params['weeks_in_year'] = weeks_in_year content_params['pool_state'] = pool_state content_params['results'] = results content_params['last_week_number'] = last_week_number self.__render_file = "pick10/overall_results_combined.html" params = dict() params['year'] = year params['weeks_in_year'] = weeks_in_year params['years_in_pool'] = years_in_pool params['last_week_number'] = weeks_in_year[-1] params['pool_state'] = pool_state params['results'] = results params['content'] = self.__initial_content(content_params) params['sorted_by_overall'] = self.__sort_by_overall(content_params) params['sorted_by_overall_reversed'] = self.__sort_by_overall_reversed(content_params) params['sorted_by_players'] = self.__sort_by_players(content_params) params['sorted_by_players_reversed'] = self.__sort_by_players_reversed(content_params) if pool_state == "week_not_started": params['sorted_by_projected'] = "" params['sorted_by_projected_reversed'] = "" params['sorted_by_possible'] = self.__sort_by_overall_possible(content_params) params['sorted_by_possible_reversed'] = self.__sort_by_overall_possible_reversed(content_params) elif pool_state == "week_final": params['sorted_by_projected'] = "" params['sorted_by_projected_reversed'] = "" params['sorted_by_possible'] = self.__sort_by_overall_possible(content_params) params['sorted_by_possible_reversed'] = self.__sort_by_overall_possible_reversed(content_params) elif pool_state == "week_in_progress": params['sorted_by_projected'] = self.__sort_by_overall_projected(content_params) params['sorted_by_projected_reversed'] = self.__sort_by_overall_projected_reversed(content_params) params['sorted_by_possible'] = self.__sort_by_overall_possible(content_params) params['sorted_by_possible_reversed'] = self.__sort_by_overall_possible_reversed(content_params) else: params['sorted_by_projected'] = "" params['sorted_by_projected_reversed'] = "" params['sorted_by_possible'] = "" params['sorted_by_possible_reversed'] = "" body = render_to_string("pick10/overall_results_body.html",params) cache.set(body_key,body) if loading_memcache: return data = {'body_content':body,'side_block_content':sidebar,'year':year,'weeks_in_year':weeks_in_year } self.__set_player_id(access,data) WeekNavbar(year,last_week_number,'overall',request.user).add_parameters(data) return render(request,"pick10/overall_results.html",data)