def home(): N_STOCKS = 20 # number of stocks to retrieve if not account.user_is_logged_in(): return redirect(url_for("login")) # Get all stock tickers tickers = Stock.get_all_tickers() # Get default sorting metric and order order = None metric = request.args.get("metric", "recs") order_arg = request.args.get("order", "lowhigh") if order_arg == "lowhigh": order = True elif order_arg == "highlow": order = False # Get sorted stocks stocks = None if metric == "alpha": stocks = Stock.get_stocks(N_STOCKS, order) elif metric == "price": stocks = Stock.get_stocks_sorted_by_price(N_STOCKS, order) elif metric == "pe": stocks = Stock.get_stocks_sorted_by_pe(N_STOCKS, order) elif metric == "risk": stocks = Stock.get_stocks_sorted_by_risk(N_STOCKS, order) elif metric == "recs": stocks = Stock.get_recommendations() elif metric == "sustainability": stocks = Stock.get_stocks_sorted_by_sustainability(N_STOCKS, order) elif metric == "socialgood": stocks = Stock.get_stocks_sorted_by_socialgood(N_STOCKS, order) elif metric == "american": stocks = Stock.get_stocks_sorted_by_american(N_STOCKS, order) return render_template("home.html", tickers = tickers, stocks = stocks, metric = metric, order = order, has_recs = account.user_has_recommendations())