def put(self, region): dao = Dao(region, mongo_client=mongo_client) args = rankings_criteria_get_parser.parse_args() try: ranking_num_tourneys_attended = int(args['ranking_num_tourneys_attended']) ranking_activity_day_limit = int(args['ranking_activity_day_limit']) tournament_qualified_day_limit = int(args['tournament_qualified_day_limit']) except Exception as e: return 'Error parsing Ranking Criteria, please try again: ' + str(e), 400 print ranking_num_tourneys_attended print ranking_activity_day_limit if not dao: return 'Dao not found', 404 user = get_user_from_request(request, dao) if not user: return 'Permission denied', 403 if not is_user_admin_for_region(user, region): return 'Permission denied', 403 try: # TODO Update rankings and store criteria in db dao.update_region_ranking_criteria(region, ranking_num_tourneys_attended=ranking_num_tourneys_attended, ranking_activity_day_limit=ranking_activity_day_limit, tournament_qualified_day_limit=tournament_qualified_day_limit) except Exception as e: print str(e) return 'There was an error updating the region rankings criteria', 400 return dao.get_region_ranking_criteria(region)
def get(self, region): dao = Dao(region, mongo_client=mongo_client) if not dao: return 'Dao not found', 404 return_dict = dao.get_latest_ranking().dump(context='web') if not return_dict: return 'Dao couldnt give us rankings', 400 ranking_list = [] for r in return_dict['ranking']: player = dao.get_player_by_id(ObjectId(r['player'])) if player: r['name'] = player.name r['id'] = str(r.pop('player')) ranking_list.append(r) ranking_criteria = dao.get_region_ranking_criteria(region) return_dict['ranking'] = ranking_list return_dict['ranking_criteria'] = ranking_criteria return return_dict