def userRegistration():
    print(view.printTitle("Registration"))
    username = input(view.queryString("username"))
    if not model.getUserInfo(username) == []:
        print(view.invalidString("username","registration menu"))
        userRegistration()
    else:
        password = input(view.queryString("password"))
        model.registerUser(username,password)
        print(view.printRoute(f"Registered {username} with password {password}.","main menu"))
        app()
def userLogin():
    username = input(view.queryString("username"))
    password = input(view.queryString("password"))
    user_info = model.getUserInfo(username)
    if not user_info == []:
        if user_info[0]['password'] == password:
            print(view.validString("Credentials","User Menu"))
            return user_info[0]
        else:
            print(view.invalidString("Credentials","Main Menu"))
            app()
    else:
        print(view.invalidString("Credentials","Main Menu"))
        app()
def stockTickerSearch(user):
    print(view.printTitle("Stock Ticker Search"))
    ticker_input = input(view.queryString("Stock Ticker: ")).strip().upper()
    quote = wrapper.Markit().get_quote(ticker_input,'Name','Symbol','LastPrice','Open','Timestamp')
    if quote == {}:
        print(view.invalidString("stock ticker","user page"))
    else:
        print(f"Information on {ticker_input}:")
        print(view.printDict(quote))
def companySearch(user):
    print(view.printTitle("Company Search"))
    company_name = input(view.queryString("Company Name"))
    companies = wrapper.Markit().company_search(company_name)
    if companies.empty:
        print(view.invalidString("company name","user page"))
    else:
        print(f"Company list that matches {company_name}:")
        print(companies.to_string(index = False))
def confirmOrder(order_type,user):
    print("Confirm Order?")
    confirmation = input(view.queryString("Yes or No")).lower().strip()
    if confirmation not in ["yes","no"]:
        print(view.invalidString("input",f"{order_type} menu"))
        transactStock(order_type,user)
    elif confirmation == "no":
        print(view.printRoute("Order cancelled","main menu"))
        userApp(user)
    elif confirmation == "yes":
        return True
def transactStock(order_type,user):
    ask = input(view.queryString(f"stock ticker and number of shares you'd like to {order_type} (Eg: AAPL 5)")).split()
    ticker, quote, number_of_shares = transactErrorCheck(ask,order_type,user)
    print(f"Latest price of {ticker} as of {quote['Timestamp']}:")
    print(f"Price: ${quote['LastPrice']}")
    if confirmOrder(order_type,user):
        now = datetime.now().strftime("%Y-%m-%d, %H:%M:%S")
        if order_type == "buy":
            model.buyStock(user['username'],ticker,quote['LastPrice'],number_of_shares,now)
            new_acc_balance = model.deductAccount(user['username'],quote['LastPrice'],number_of_shares)
            print(view.printSuccess(order_type,number_of_shares,ticker,now,new_acc_balance))
        elif order_type == "sell":
            model.sellStock(user['username'],ticker,quote['LastPrice'],number_of_shares,now)
            new_acc_balance = model.creditAccount(user['username'],quote['LastPrice'],number_of_shares)
            print(view.printSuccess(order_type,number_of_shares,ticker,now,new_acc_balance))
Пример #7
0
 def userRegisteration():
     print(view.printTitle("Registration"))
     username=input(view.queryString("username"))
     if not model.getUserInfo("username","registration menu") )