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)