Exemplo n.º 1
0
def search():
    current_user = m.current_user()
    if request.method == "GET":
        if current_user == "randomuser":
            return redirect("/")
        else:
            return render_template("search.html")
    elif request.method == "POST":
        try:
            submitted_company_name = request.form["company_name"]
            submitted_company_name = submitted_company_name.capitalize()
            ticker_symboll = m.lookup_ticker_symbol(submitted_company_name)
            if ticker_symboll:
                result = "The ticker symbol for {} is {}.".format(
                    submitted_company_name, ticker_symboll
                )
                return render_template("search.html", resultthree=result)
            else:
                return render_template("search.html", company_dne=True)

        except Exception:
            submitted_symbol = request.form["ticker_symbol"]
            submitted_symbol = submitted_symbol.upper()
            price = m.quote_last_price(submitted_symbol)
            results = "The last price of {} is ${}.".format(submitted_symbol, price)
            return render_template("search.html", resultfour=results)
Exemplo n.º 2
0
def history():
    username = m.current_user()
    if request.method == "GET":
        result = m.history()
        return render_template('history.html', result=result)
    else:
        return render_template('history.html')
Exemplo n.º 3
0
def holdings():
    username = m.current_user()
    if request.method == "GET":
        result = m.holdings()
        return render_template('holdings.html', result=result)
    else:
        return render_template('holdings.html')
Exemplo n.º 4
0
def query_medicine_responce_builder(fb_id, brand, quantity):
    distance = []
    potential_vendor_information, impotential_vendor_information = search_user_for_med(
        fb_id, quantity, brand)
    current_user_location = current_user(fb_id)
    latitude, longitude = current_user_location.split(":")
    if len(potential_vendor_information) > threshold:
        for obj in potential_vendor_information:
            distance.append(
                nearest_location(latitude, longitude, obj.lat, obj.long))
    else:
        # TODO : HANDLE CASE WHEN NOBODYA HAS REQUIRED AMOUNT OF MEDICIN
        pass
    dist = sorted(range(len(distance)), key=lambda k: distance[k])
    elements = []
    for i in dist:
        location = get_location_url(obj.lat, obj.long)
        user_name = potential_vendor_information[i].uname
        subtitle = "Phone: " + str(
            potential_vendor_information[i].phone) + "\nQuantity: " + str(
                potential_vendor_information[i].qty)
        btn = button("web_url", location, "got to location")
        elements.append(
            genereic_template_elements(user_name,
                                       image_url=user_url,
                                       subtitle=subtitle,
                                       button=[btn.__dict__]).__dict__)
    generic_data = generic_template_class(fb_id, elements)
    return generic_data
Exemplo n.º 5
0
def contact():
    current_user = m.current_user()
    if request.method == "GET":
        if current_user == 'randomuser':
            return redirect('/')
        else:
            return render_template('contact.html')
    else:
        return render_template('contact.html')
Exemplo n.º 6
0
def contact():
    current_user = m.current_user()
    if request.method == "GET":
        if current_user == "randomuser":
            return redirect("/")
        else:
            return render_template("contact.html")
    else:
        return render_template("contact.html")
Exemplo n.º 7
0
 def test_log_in_success(self):
     with patch("model.sqlite3") as mock_sql:
         mock_sql.connect().cursor().fetchone.return_value = (
             "307e1fb4b8594b49b8eb119a4a38cc5020fd9eb18afa9a38b8c75abb4ac8ae6e",
             "86f712b2c0e419af5f9cfc53f0bd9f0b3cb0c81e4d9299125f2e9e99e504f3a7f"
             "2b534894ffbdca10ce0a5507142c91a4d66f859f6df5771ba04e5fa477f28e0",
         )
         assert m.log_in("asdf", "asdf")
         mock_sql.connect().cursor().fetchone.return_value = ["asdf"]
         assert m.current_user() == "asdf"
Exemplo n.º 8
0
def trade():
    current_user = m.current_user()
    if request.method == "GET":
        if current_user == "randomuser":
            return redirect("/")
        else:
            return render_template("trade.html")
    elif request.method == "POST":
        try:
            submitted_symbol = request.form["ticker_symbol"].upper()
            submitted_volume = request.form["number_of_shares"]
            submitted_volume = int(submitted_volume)
            confirmation_message, transaction = m.buy(
                username, submitted_symbol, submitted_volume
            )
            if submitted_volume == 1:
                result = "You bought {} share of {}.".format(
                    submitted_volume, submitted_symbol
                )
            else:
                result = "You bought {} shares of {}.".format(
                    submitted_volume, submitted_symbol
                )
            m.update_holdings()
            if confirmation_message:
                m.buy_db(transaction)
                return render_template("trade.html", result=result)
            else:
                return render_template("trade.html")
        except Exception:
            submitted_symbols = request.form["ticker_symb"].upper()
            submitted_volumes = request.form["number_shares"]
            submitted_volumes = int(submitted_volumes)
            confirmation_message, transaction = m.sell(
                username, submitted_symbols, submitted_volumes
            )
            if submitted_volumes == 1:
                results = "You sold {} share of {}.".format(
                    submitted_volumes, submitted_symbols
                )
            else:
                results = "You sold {} shares of {}.".format(
                    submitted_volumes, submitted_symbols
                )
            m.update_holdings()
            if confirmation_message:
                m.sell_db(transaction)
                return render_template("trade.html", results=results)
            else:
                return render_template("trade.html", cannot_sell=True)
Exemplo n.º 9
0
def sell():
    username = m.current_user()
    if request.method == "GET":
        return render_template('sell.html')
    else:
        submitted_symbol = request.form['ticker_symbol']
        submitted_volume = request.form['number_of_shares']
        submitted_volume = int(submitted_volume)
        confirmation_message, return_list = m.sell(username, submitted_symbol,
                                                   submitted_volume)
        result = f"You sold {submitted_volume} shares of {submitted_symbol} at {m.quote_last(submitted_symbol)}"
        if confirmation_message == True:
            return render_template('sell.html', result=result)
        else:
            return render_template('sell.html')
Exemplo n.º 10
0
def dashboard():
    current_user = m.current_user()
    if request.method == "GET":
        if current_user == 'randomuser':
            return redirect('/')
        else:
            m.update_holdings()
            # pnl = m.calculate_p_and_l(username)
            user_holdings = m.display_user_holdings()
            # holdings = pd.DataFrame(user_holdings)
            user_transactions = m.display_user_transactions()
            return render_template('dashboard.html',
                                   position_list=user_holdings,
                                   result=user_transactions)
    else:
        return render_template('dashboard.html', result=None)
Exemplo n.º 11
0
def search():
    current_user = m.current_user()
    if request.method == "GET":
        if current_user == 'randomuser':
            return redirect('/')
        else:
            return render_template('search.html')
    elif request.method == "POST":
        try:
            submitted_company_name = request.form['company_name']
            submitted_company_name = submitted_company_name.capitalize()
            ticker_symboll = m.lookup_ticker_symbol(submitted_company_name)
            result = "The ticker symbol for {} is {}.".format(
                submitted_company_name, ticker_symboll)
            return render_template('search.html', resultthree=result)
        except:
            submitted_symbol = request.form['ticker_symbol']
            submitted_symbol = submitted_symbol.upper()
            price = m.quote_last_price(submitted_symbol)
            results = "The last price of {} is ${}.".format(
                submitted_symbol, price)
            return render_template('search.html', resultfour=results)
        else:
            return render_template('search.html')
Exemplo n.º 12
0
def test_current_user():
    with patch("model.sqlite3") as mock_sql:
        mock_sql.connect().cursor().fetchone.return_value = ["paulina"]

        assert m.current_user() == "paulina"
Exemplo n.º 13
0
 def __call__(self,request):
     response = dzresponse.Response()
     response.headers['Content-type'] = 'image/png'
     response.content = model.current_user().photo #or open('no_photo.png','rb').read()
     return response