def createaccount(name, password): new_account = Account(username=name) new_account.set_password(password) ak = new_account.create_api_key() new_account.save() msg = "Account successfully created, API api_key = {}".format(ak) return jsonify({'message':msg})
def login_menu(): while True: try: user_input = view.login_menu() if int(user_input) == 3: view.program_end() sys.exit() elif int(user_input) == 2: username = view.username_inpt() pwd = util.hash_pass(view.password_inpt()) user = Account.login(username, pwd) if user == None: view.invalid_info() return login_menu() return user elif int(user_input) == 1: user = Account() user.username = view.username_inpt() user.set_password(util.hash_pass(view.set_password_inpt())) user.balance = view.deposit_inpt() user.save() view.acc_created(user.username) return user except ValueError: view.choose_valid()
def seed(dbpath=DBPATH): ORM.dbpath = dbpath mike_bloom = Account(username='******', balance=10000.00) mike_bloom.set_password('password') mike_bloom.save() # trade for a purchase of 10 shares yesterday # trade for a sell of 5 shares today tsla_position = Position(ticker='tsla', shares=5, account_pk=mike_bloom.values['pk']) tsla_position.save()
def welcome_homepage(): while True: selection = view.welcome_screen() if selection not in ["1","2","3"]: view.improper_selection() continue if selection == "1": username, balance, password, confirm_password = view.get_username(), view.add_balance(), view.get_password(), view.confirm_password() if password != confirm_password: view.improper_password() continue if not balance.isdigit() or int(balance) < 0: view.improper_balance() continue account = Account(username = username, balance = balance) hashed_pw = Account.set_password(account, password) account.save() logged_in_homepage(account) return elif selection == "2": username, password = view.get_username(), view.get_password() logged_in_account = Account.login(username=username, password=password) if logged_in_account: logged_in_homepage(logged_in_account) return else: print("Invalid credentials supplied") continue elif selection == "3": view.goodbye() return
def create_account_selection(): while True: newuser = Account() view.enter_user_name() username = input() newuser.username = username view.enter_password() password = getpass.getpass() newuser.origpassword = password newuser.set_password(password) #newuser.apikey=20 newuser.set_apikey() newuser.balance = 0.00 newuser.save() view.account_success_message() return newuser
def seed(dbpath=DBPATH): ORM.dbpath = dbpath mike_bloom = Account(username='******', balance=10000.00) mike_bloom.set_password('password') mike_bloom.save() # trade for a purchase of 10 shares yesterday # trade for a sell of 5 shares today buy_trade = Trade(accounts_pk = mike_bloom.pk, ticker='tsla', volume=10, price=100.0) sell_trade = Trade(accounts_pk=mike_bloom.pk, ticker='tsla', volume=5, price=200.0) buy_trade.save() sell_trade.save() tsla_position = Position(ticker='tsla', shares=5, accounts_pk=mike_bloom.pk) tsla_position.save()
def create_account(): view.intro_create_acc() first = view.input_first() last = view.input_last() username = view.input_username() password = view.input_password( ) #this is the start of what will become the password hash balance = 0 email = view.input_email() new_account = Account(first=first, last=last, username=username, balance=balance, email=email) #password_hash=password_hash - not used b/c save in set pw fucntion new_account.set_password( password) #creates the password has which is missing in the above line if Account.from_username(username) is None: new_account.save( ) #save function to put the new account into the sql db else: raise view.UsernameUnavailableError
def createaccount(name, password): new_account = Account(username=name) new_account.set_password(password) new_account.save() msg = "Account successfully created" return jsonify({'message': msg})
def main(): while True: views.generic_msg("Welcome to Terminal Trader !") selection = views.welcome_menu() if selection is None: #Bad input views.generic_msg( "Please enter a number that corresponds to a stated option") elif selection == 3: #Exit views.generic_msg("Bye: Thanks for using Terminal Trader") break elif selection == 1: #Create account new_username = views.get_input("Username") new_password = views.get_input("Password") new_account = Account(username=new_username) new_account.set_password(new_password) new_account.save() elif selection == 2: #Login login_username = views.get_input("Username") login_password = views.get_input("Password") if not Account.login(login_username, login_password): views.generic_msg( "Failed to find an account for the given Username/Password, pls retry" ) else: #Store account pk for re-use pk = Account.login(login_username, login_password).pk while True: choice = views.main_menu() if choice is None: #Bad input views.generic_msg( "Please enter a number that corresponds \ to a stated option") elif choice == 8: #Exit break elif choice == 1: #View Balance & Positions positions_sub_menu(pk) elif choice == 2: #Deposit money deposit_amount = float( views.get_input("Deposit Amount")) account_deposit = Account(pk=pk) new_bal = account_deposit.deposit(deposit_amount) account_deposit.save() views.generic_msg("New Balance = {}".format(new_bal)) elif choice == 3: #Look up stock price ticker = views.get_input( "Please enter a Ticker Symbol") quote = util.get_price(ticker) if not quote: views.generic_msg( "The Ticker Symbol entered does not exist") else: views.stock_price(ticker, quote) elif choice == 4: #Look up ticker from Co. name co_name = views.get_input("Please enter Company Name") companies = util.get_ticker(co_name) if not companies: views.generic_msg( "No matches for input Company Name") else: for co in companies: views.show_companies(co) elif choice == 5: #Buy stock ticker = views.get_input( "Please enter a Ticker Symbol") shares_buy = views.get_input( "Please enter the number of shares to buy") buy_txn = Account(pk=pk) buy_txn.buy(ticker, shares_buy) views.generic_msg("Buy transaction complete") elif choice == 6: #Sell stock ticker = views.get_input( "Please enter a Ticker Symbol") shares_sell = views.get_input( "Please enter the number of shares to sell") sell_txn = Account(pk=pk) sell_txn.sell(ticker, shares_sell) views.generic_msg("Sell transaction complete") elif choice == 7: #View Trade History trades_sub_menu(pk)
def main(): while True: selection = views.welcome_menu() if selection is None: #Bad input views.generic_msg( "Please enter a number that corresponds to a stated option") elif selection == 3: #Exit views.generic_msg("Bye: Thanks for using Terminal Trader") break elif selection == 1: #Create account new_username = views.get_input("Username") new_password = views.get_input("Password") new_account = Account(username=new_username) new_account.set_password(new_password) new_account.save() elif selection == 2: #Login login_username = views.get_input("Username") login_password = views.get_input("Password") if not Account.login(login_username, login_password): views.generic_msg( "Failed to find an account for the given Username/Password, pls retry" ) else: #Retrieve account balance & pk for re-use balance = Account() current_bal, pk = balance.get_bal(login_username, login_password) while True: choice = views.main_menu() if choice is None: #Bad input views.generic_msg( "Please enter a number that corresponds to a stated option" ) elif choice == 7: #Exit break elif choice == 1: #View Balance & Positions views.generic_msg( "Your current balance = {}".format(current_bal)) while True: position_choice = views.position_menu() if position_choice is None: #Bad input views.generic_msg( "Please enter a number that corresponds to a stated option" ) elif position_choice == 3: #Exit break elif position_choice == 1: #Retrieve and display a given position, taking in a ticker symbol ticker = views.get_input( "Please enter a Ticker Symbol") user_position = Account(pk=pk) position = user_position.get_position_for( ticker) views.show_positions(position) elif position_choice == 2: #Retrieve and display all positions user_positions = Account(pk=pk) positions = user_positions.get_positions() for position in positions: views.show_positions(position) elif choice == 2: #Deposit money deposit_amount = float( views.get_input("Deposit Amount")) account_deposit = Account() new_bal = account_deposit.deposit( login_username, login_password, deposit_amount) account_deposit.save() views.generic_msg("New Balance = {}".format(new_bal)) elif choice == 3: #Look up stock price ticker = views.get_input( "Please enter a Ticker Symbol") print(util.get_price(ticker)) elif choice == 4: #Buy stock ticker = views.get_input( "Please enter a Ticker Symbol") shares_buy = views.get_input( "Please enter the number of shares to buy") elif choice == 5: #Sell stock ticker = views.get_input( "Please enter a Ticker Symbol") shares_sell = views.get_input( "Please enter the number of shares to sell") elif choice == 6: #View Trade History while True: trade_choice = views.trades_menu() if trade_choice is None: #Bad input views.generic_msg( "Please enter a number that corresponds to a stated option" ) elif trade_choice == 3: #Exit break elif trade_choice == 1: #Retrieve and display trades re a give ticker symbol ticker = views.get_input( "Please enter a Ticker Symbol") user_trade = Account(pk=pk) trades = user_trade.get_trades_for(ticker) views.show_trades(trades) elif trade_choice == 2: #Retrieve and display all trades user_trades = Account(pk=pk) trades = user_trades.get_trades() for trade in trades: views.show_trades(trade)