from tabulate import tabulate from decimal import Decimal import yfi as y def generate_table(stonks): table_data = [] total = 0 for ticker in stonks.keys(): price = y.get_current_price(ticker) shares_count = stonks[ticker] table_data.append( [ticker, shares_count, round(Decimal(price) * Decimal(stonks[ticker]), 2)] ) total += Decimal(price) * Decimal(stonks[ticker]) table_data.append(["Total", "", round(total, 2)]) return str( tabulate(table_data, ["Ticker", "Shares", "Value ($)"], tablefmt="pretty") ) def watchlist_table(watchlist): table_data = [] header = ["Ticker", "Current Price ($)", "Estimated Price ($)"] for stonk in watchlist.keys(): table_data.append( [ stonk, y.get_current_price(stonk), watchlist[stonk], ] ) return str(tabulate(table_data, header, tablefmt="pretty"))