def load_portfolio(self) -> dict: """ Loads portfolio into the class checking first if the portfolio exists. :return: dict """ if DataHandler.check_portfolio_exists(): return DataHandler.load_portfolio() else: return dict({})
def create(self): # ====================== Init portfolio ======================== self.welcome_msg = self.add(npyscreen.FixedText, value=welcome, rely=2) self.welcome_msg2 = self.add(npyscreen.FixedText, value=welcome_line2, rely=3) self.top_message = self.add(npyscreen.FixedText, value="", relx=8, rely=4) # ====================== End init portfolio ==================== # ====================== Menu section ========================== self.menu = self.new_menu(name="Main Menu", shortcut="m") self.menu.addItem("1. Add stock to portfolio", self.change_form_add, "1") self.menu.addItem("2. Update Portfolio", self.change_form_update, "2") self.menu.addItem("3. Save performance to PDF", self.change_form_save_pdf, "3") self.menu.addItem("4. Delete Stock form portfolio", self.change_form_delete, "4") # ====================== End menu section ====================== self.add(npyscreen.FixedText, value="Performance:", relx=8, rely=26) self.main_ii = self.add( npyscreen.FixedText, value=f"Initial Investment: ${self.initial_investment}", relx=8, rely=27) self.main_rd = self.add( npyscreen.FixedText, value=f"Returned Amount: ${self.return_dollar}", relx=8, rely=28) self.main_pr = self.add(npyscreen.FixedText, value=f"Returned Percent: {self.pct_return}%", relx=8, rely=29) self.exit_button = self.add(npyscreen.ButtonPress, name="Exit", rely=29, relx=106, when_pressed_function=self.exit_press) if not DataHandler.check_portfolio_exists(): self.top_message.value = no_portfolio_msg else: self.top_message.value = "Portfolio:" self.load_portfolio() self.load_performance()