def _get_stocks(ticker_list): stocks = [] for ticker in ticker_list: data = Stock.get_last(ticker) if data is None: logger.error( f"Watchlist contains unknown stock ticker: " + str(ticker)) raise UnknownStockError(ticker) stocks.append(data) return stocks
def handle_get_stock_price_intent(request): """ Generate response to intent type WhatsTheStockPriceIntent with the current price of the added ticker. :type request AlexaRequest :return: JSON response including stock price """ ticker = request.get_slot_value(slot_name="stockTicker").upper() # Query DB for stock data stock = Stock.get_last(ticker) if type(stock) is NoneType: logger.error(f"There was an error getting data for {ticker}") message = strings.INTENT_STOCK_PRICE_MSG_FAIL.format(ticker) response = ResponseBuilder.create_response(request, message=message) else: message = strings.INTENT_STOCK_PRICE_MSG.format(stock['ticker'], stock['price']) response = ResponseBuilder.create_response(request, message=message) \ .set_session('stockTicker', stock['ticker']) reprompt_message = strings.INTENT_GENERAL_REPROMPT return response.with_reprompt(reprompt_message)