def send_response(): message = request.form['response'] db_wiz = SessionLocal() global user_utter global wizard_utter # User and Wizard utterance from last record user_utterance = db_wiz.query(models.UserQuery).order_by(models.UserQuery.id.desc()).first().user_request wizard_utterance = db_wiz.query(models.UserQuery).order_by(models.UserQuery.id.desc()).first().wizard_response if (user_utterance == user_utter and user_utterance != "Listening..." and wizard_utterance == "No Response"): # Setting global variable wizard_utter = message # Updating last query wizard response db_wiz.query(models.UserQuery).order_by(models.UserQuery.id.desc()).first().wizard_response = message db_wiz.commit() db_wiz.close() user_utter="Listening..." # project_id = os.getenv('DIALOGFLOW_PROJECT_ID') # fulfillment_text = detect_intent_texts(project_id, "unique", "wizard says "+message, 'en') # response_text = { "message": fulfillment_text } # return jsonify(response_text) return message
def hw_get_aeroportos_destino(origem): session = SessionLocal() voo_origem = (session.query(Voo).join(Aeroporto).filter( Aeroporto.cidade == origem).all()) voo_origem_json = populate_voo_aeroporto(voo_origem) destinos = [{"destino": elem["destino"]} for elem in voo_origem_json] return destinos
def fetch_stock_data(id: int): # Create a new db session in the background db = SessionLocal() # Query the db for the matching stock record using this id stock = db.query(Stock).filter(Stock.id == id).first() # Test that our function even works before fetching from YF # by manually updating 'forward_pe' field # stock.forward_pe = 10 # Get data from YF and map to our table columns yahoo_data = yfinance.Ticker(stock.symbol) stock.ma200 = yahoo_data.info["twoHundredDayAverage"] stock.ma50 = yahoo_data.info["fiftyDayAverage"] stock.price = yahoo_data.info["previousClose"] stock.forward_pe = yahoo_data.info["forwardPE"] stock.forward_eps = yahoo_data.info["forwardEps"] # Some stocks don't give dividend_yield, so add conditional if yahoo_data.info["dividendYield"] is not None: stock.dividend_yield = yahoo_data.info["dividendYield"] * 100 # Update the record db.add(stock) db.commit()
async def login(user:User_model): db = SessionLocal() user_vals = db.query(User).filter(User.username==user.username).first() if bcrypt.checkpw(user.password.encode(), user_vals.hashed_pword): return {"ok":"signed in"} else: return {"error":"incorrect password"}
def hw_remove_aeroporto(id): session = SessionLocal() aeroporto = session.query(Aeroporto).filter_by(id=id).first() session.delete(aeroporto) session.commit() session.close() return {"message": f"Aeroporto {aeroporto.id} was deleted"}
def hw_remove_reserva(id): session = SessionLocal() reserva = session.query(Reserva).filter_by(id=id).first() session.delete(reserva) session.commit() session.close() return {"message": f"Reserva {reserva.id} was deleted"}
def make_prediction(id: int): """ This is what make the predictions """ db = SessionLocal() sms_table = db.query(FraudSMS).filter(FraudSMS.id == id).first() model_path = "./lib/xgb_model.pkl" xgb_model = joblib.load(model_path) try: raw = sms_table.sms_text processor = custom_processor.InputTransformer() data = processor.transform(raw) print(data) except ValueError: print("Request has no data or is not a valid json object") predictions = xgb_model.predict(data) probability = xgb_model.predict_proba(data) results = dict() sms_table.probability = list(probability)[0][1] # sms_table.prediction = list(predictions)[0] db.add(sms_table) db.commit()
async def home(request: Request, name=None, forward_pe=None, dividend=None, ma50=None, ma200=None, db: SessionLocal = Depends(get_db)): """ Display the dashboard on homepage :return: """ stocks = db.query(Stock) if name: stocks = stocks.filter(Stock.name.startswith(name)) if forward_pe: stocks = stocks.filter(Stock.forward_pe < forward_pe) if dividend: stocks = stocks.filter(Stock.dividend > dividend) if ma50: stocks = stocks.filter(Stock.price > Stock.ma50) if ma200: stocks = stocks.filter(Stock.price > Stock.ma200) return templates.TemplateResponse( "home.html", { "request": request, "stocks": stocks, "name": name, "dividend": dividend, "forward_pe": forward_pe, "ma50": ma50, "ma200": ma200 })
def hw_remove_voo(id): session = SessionLocal() voo = session.query(Voo).filter_by(id=id).first() session.delete(voo) session.commit() session.close() return {"message": f"Voo {voo.id} was deleted"}
def hw_get_aeroporto_by_company(company): session = SessionLocal() voos_company = session.query(Voo).filter_by(companhia=company).all() voos_company_json = populate_voo_aeroporto(voos_company) cidades_destino = [elem["aeroporto"][0] for elem in voos_company_json] session.close() return cidades_destino
async def delete(id: int): """ tenteando deleta """ db = SessionLocal() stock = db.query(Stock).filter(Stock.id == id).first() db.remove(stock) db.commit()
def attempt2(): db_user = SessionLocal() time.sleep(3.4) wiz_db_resp = db_user.query(models.UserQuery).order_by(models.UserQuery.id.desc()).first().wizard_response db_user.close() if(wiz_db_resp== "No Response"): return ask("Sorry, I couldn't find any response to that. Could you please repeat?") else: return ask(str(wiz_db_resp))
def attempt1(): db_user = SessionLocal() time.sleep(3.4) wiz_db_resp = db_user.query(models.UserQuery).order_by(models.UserQuery.id.desc()).first().wizard_response db_user.close() if(wiz_db_resp== "No Response"): return event('attempt-2') else: return ask(str(wiz_db_resp))
def get_pyd_user_from_db(username: str): # print(">>>>>>>>> obtaining pydantic user for username " + username) db = SessionLocal() user_db = db.query(UserDB).filter( UserDB.username == username).one_or_none() if user_db: return make_user_pydantic_from_db(user_db) else: return None
def fetch_the_data(id: int): db = SessionLocal() house = db.query(house_price).filter(house_price.id == id) house.MedInc = house['MedInc'] db.add(house) db.commit()
def hw_get_voos_passageiros(n): session = SessionLocal() voos_disponibilidade = (session.query( Voo, (Voo.capacidade - Voo.ocupacao).label("disponibilidade")).filter( text(f"disponibilidade > {n}")).order_by(Voo.preco.asc()).all()) voo_list = [voo[0] for voo in voos_disponibilidade] voos_json = populate_voo_aeroporto(voo_list) session.close() return voos_json
def authenticate_user(email: str, password: str): db = SessionLocal() user = db.query( models.Profile).filter(models.Profile.email == email).first() if not user: return False if not verify_password(password, user.hashed_passwd): print("Debug password cannot be verified") return False return user
def hw_get_voos_companhia(request): session = SessionLocal() date = datetime.strptime(request["data"] + " 00:00:00", "%d/%m/%Y %H:%M:%S") time_after = date + timedelta(hours=23, minutes=59, seconds=59) voos = (session.query(Voo).filter( Voo.data >= date, Voo.data <= time_after).filter_by( companhia=request["companhia"]).all()) voos_json = populate_voo_aeroporto(voos) session.close() return voos_json
def yahoo_data_fetch(id: int): db = SessionLocal() stock_data = db.query(StockData).filter(StockData.id == id).first() yahoo_stock_data = yf.Ticker(stock_data.stockname) stock_data.ma200 = yahoo_stock_data.info["twoHundredDayAverage"] stock_data.ma50 = yahoo_stock_data.info["fiftyDayAverage"] stock_data.price = yahoo_stock_data.info["previousClose"] stock_data.forward_pe = yahoo_stock_data.info["forwardPE"] stock_data.forward_eps = yahoo_stock_data.info["forwardEps"] if stock_data.dividend_yield is not None: stock_data.dividend_yield = yahoo_stock_data.info["dividendYield"] * 100 db.add(stock_data) db.commit()
def fetch_stock_data(id: int): db = SessionLocal() stock = db.query(Stock).filter(Stock.id == id).first() yahoo_data = yf.Ticker(stock.symbol) stock.ma200 = yahoo_data.info['twoHundredDayAverage'] stock.ma50 = yahoo_data.info['fiftyDayAverage'] stock.price = yahoo_data.info['previousClose'] stock.forward_pe = yahoo_data.info['forwardPE'] stock.forward_eps = yahoo_data.info['forwardEps'] stock.dividend_yield = (yahoo_data.info['dividendYield'] or 1) * 100 db.add(stock) db.commit()
def hw_update_aeroporto(request): session = SessionLocal() aeroporto_old = session.query(Aeroporto).filter_by( id=request["id"]).first() session.delete(aeroporto_old) aeroporto = Aeroporto(id=request["id"], nome=request["nome"], cidade=request["cidade"]) session.add(aeroporto) session.commit() aeroporto_json = hw_get_aeroporto(aeroporto.id) session.close() return aeroporto_json
def fetch_stock_data(id: int): db = SessionLocal() stock = db.query(Stock).filter(Stock.id == id).first() yahoo_data = yf.Ticker(stock.symbol) stock.ma200 = yahoo_data.info["twoHundredDayAverage"] stock.ma50 = yahoo_data.info["fiftyDayAverage"] stock.price = yahoo_data.info["previousClose"] stock.forward_pe = yahoo_data.info["forwardPE"] stock.forward_eps = yahoo_data.info["forwardEps"] if yahoo_data.info["dividendYield"]: stock.dividend_yield = yahoo_data.info["dividendYield"] * 100 db.add(stock) db.commit()
def hw_update_reserva(request): session = SessionLocal() reserva_old = session.query(Reserva).filter_by(id=request["id"]).first() session.delete(reserva_old) reserva = Reserva( id_voo=request["id_voo"], id_cadastro=request["id_cadastro"], e_ticket=request["e_ticket"], ) session.add(reserva) session.commit() reserva_json = hw_get_reserva(reserva.id) session.close() return reserva_json
def fetch_stock_data(_id: int): db = SessionLocal() stock: Stock = db.query(Stock).filter(Stock.id == _id).first() yfinance_data = yf.Ticker(stock.symbol) if yfinance_data.info['dividendYield'] is not None: stock.dividend_yield = yfinance_data.info['dividendYield'] * 100 stock.forward_eps = yfinance_data.info['forwardEps'] stock.forward_pe = yfinance_data.info['forwardPE'] stock.price = yfinance_data.info['previousClose'] stock.ma50 = yfinance_data.info['fiftyDayAverage'] stock.ma200 = yfinance_data.info['twoHundredDayAverage'] db.add(stock) db.commit()
def fetch_stock_data(id: int): db = SessionLocal() stock = db.query(Stock).filter(Stock.id == id).first() yahoo_data = yfinance.Ticker(stock.symbol) stock.ma200 = yahoo_data.info['twoHundredDayAverage'] stock.ma50 = yahoo_data.info['fiftyDayAverage'] stock.price = yahoo_data.info['previousClose'] stock.forward_pe = yahoo_data.info['forwardPE'] stock.forward_eps = yahoo_data.info['forwardEps'] dividend = yahoo_data.info['dividendYield'] stock.dividend_yield = 0 if dividend == None else dividend * 100 db.add(stock) db.commit() print(' Data fetched from Yahoo!Finance and saved for', stock.symbol)
def is_video_data_exists(oid): """ 查询bilibiliVideos表中是否已存在该视频 """ try: session = SessionLocal() # 查询是否存在 count = session.query(BilibiliVideo).filter( BilibiliVideo.oid == oid).count() except Exception as e: print(e) session.close() return False else: session.commit() return count > 0
def delete_video_by_oid(oid): """ 查询bilibiliVideos表中是否已存在该视频 """ try: session = SessionLocal() # 查询是否存在 del_video = session.query(BilibiliVideo).filter( BilibiliVideo.oid == oid).first() session.delete(del_video) except Exception as e: print(e) session.close() return False else: session.commit() return True
def fetch_stock_data(id: int): """ hold the id and after getting data insert it to database async in background task """ db = SessionLocal() stock = db.query(Stock).filter(Stock.id == id).first() yahoo_data = yf.Ticker(stock.symbol) stock.ma200 = yahoo_data.info['twoHundredDayAverage'] stock.ma50 = yahoo_data.info['fiftyDayAverage'] stock.price = yahoo_data.info['previousClose'] stock.forward_pe = yahoo_data.info['forwardPE'] stock.forward_EPS = yahoo_data.info['forwardEps'] db.add(stock) db.commit()
def hw_update_voo(request): session = SessionLocal() voo_old = session.query(Voo).filter_by(id=request["id"]).first() session.delete(voo_old) voo = Voo( id=request["id"], data=datetime.strptime(request["data"], "%d/%m/%Y %H:%M:%S"), destino=request["destino"], companhia=request["companhia"], capacidade=request["capacidade"], ocupacao=request["ocupacao"], preco=request["preco"], ) session.add(voo) session.commit() voo_json = hw_get_voo(voo.id) session.close() return voo_json
def fetch_stock_data(stock_id: int): db = SessionLocal() stock = db.query(Stock).filter(Stock.id == stock_id).first() yahoo_data = yf.Ticker(stock.symbol) print(yahoo_data.info) stock.name = yahoo_data.info['longName'] stock.ma200 = yahoo_data.info['twoHundredDayAverage'] stock.ma50 = yahoo_data.info['fiftyDayAverage'] stock.price = yahoo_data.info['previousClose'] stock.forward_pe = yahoo_data.info['forwardPE'] stock.forward_eps = yahoo_data.info['forwardEps'] if yahoo_data.info['dividendYield'] is not None: stock.dividend = yahoo_data.info['dividendYield'] * 100 else: stock.dividend = 0 db.add(stock) db.commit()