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))
def userRegisteration(): print(view.printTitle("Registration")) username=input(view.queryString("username")) if not model.getUserInfo("username","registration menu") )