def render_ranking_page(game, only_library_vector, removed_features=None): if only_library_vector: app.logger.info("Getting ranking for library vector query.") ranking = [ rank for rank in Game.compute_ranking_for_vector( g.library_vector, removed_features) if rank[1].app_id not in g.game_list ][:MAX_RANK_RESULTS] features, feature_names = Game.get_vector_best_features( g.library_vector, True) return render_search_template(ranking=ranking, user_ranking=None, library_features=features, library_feature_names=feature_names, library_vector=g.library_vector) else: app.logger.info("Getting ranking") base_ranking = do_cosine_sim(game, library_vector=None, removed_features=removed_features) app.logger.debug("Results for " + game.normalized_name + ": " + str(base_ranking)) user_ranking = None if g.library_vector is not None: app.logger.info("User is logged in. Also getting vector ranking.") user_ranking = do_cosine_sim(game, g.library_vector, removed_features) app.logger.debug("Results for " + game.normalized_name + ": " + str(user_ranking)) return render_search_template(query_game=game, ranking=base_ranking, user_ranking=user_ranking)