Exemplo n.º 1
0
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
Exemplo n.º 2
0
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
Exemplo n.º 3
0
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()
Exemplo n.º 4
0
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"}
Exemplo n.º 5
0
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"}
Exemplo n.º 6
0
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"}
Exemplo n.º 7
0
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()
Exemplo n.º 8
0
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
        })
Exemplo n.º 9
0
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"}
Exemplo n.º 10
0
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
Exemplo n.º 11
0
async def delete(id: int):
    """
    tenteando deleta
    """
    db = SessionLocal()
    stock = db.query(Stock).filter(Stock.id == id).first()

    db.remove(stock)
    db.commit()
Exemplo n.º 12
0
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))
Exemplo n.º 13
0
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))
Exemplo n.º 14
0
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
Exemplo n.º 15
0
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()
Exemplo n.º 16
0
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
Exemplo n.º 17
0
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
Exemplo n.º 18
0
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
Exemplo n.º 19
0
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()
Exemplo n.º 20
0
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()
Exemplo n.º 21
0
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
Exemplo n.º 22
0
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()
Exemplo n.º 23
0
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
Exemplo n.º 24
0
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()
Exemplo n.º 25
0
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)
Exemplo n.º 26
0
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
Exemplo n.º 27
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
Exemplo n.º 28
0
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()
Exemplo n.º 29
0
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()