예제 #1
0
def to_sixteen(db):
    for pf in container.get_all_portfolios():
        for pos in pf:
            for ta in pos.transactions:
                if ta.type == "portfolio_sell_transaction":
                    ta.price = ta.price * ta.quantity
                else:
                    ta.price = ta.price * ta.quantity
예제 #2
0
 def calculate_values(self, *args):
     self.days = calc_days(self.step, self.birthday, datetime.date.today(), self.MAX_VALUES)
     self.x_values = format_days(self.days, self.step)
     self.y_values = []
     # FIXME do in parallel
     for pf in container.get_all_portfolios():
         self.items = pf.get_transactions() + pf.get_dividends()
         for foo in self.calculate_investmentsovertime(pf.name):
             yield foo
     yield 1
예제 #3
0
 def calculate_values(self, *args):
     self.days = calc_days(self.step, self.birthday, datetime.date.today(), self.MAX_VALUES)
     self.x_values = format_days(self.days, self.step)
     self.y_values = []
     # FIXME do in parallel
     for pf in container.get_all_portfolios():
         self.portfolio = pf
         for foo in self.calculate_valueovertime(pf.name):
             yield foo
     yield 1
예제 #4
0
 def load_items(self):
     model = self.get_model()
     all_portfolio = container.AllPortfolio()
     self.overall_value = all_portfolio.get_current_value()
     # ensure no division by zero error occurs
     if self.overall_value == 0.0:
         self.overall_value = 1.0
     iterator = model.append(None, self.get_row(all_portfolio, Pango.Weight.BOLD))
     for item in container.get_all_portfolios():
         model.append(iterator, self.get_row(item))
예제 #5
0
def to_fourteen(db):
    for pf in container.get_all_portfolios():
        cache = {}
        for pos in pf.positions:
            if pos.asset in cache:
                for ta in pos.transactions:
                    ta.position = cache[pos.asset]
                for div in pos.dividends:
                    div.position = cache[pos.asset]
                pos.delete()
            else:
                cache[pos.asset] = pos
예제 #6
0
 def calculate_values(self, *args):
     portfolios = container.get_all_portfolios()
     data = {}
     for pf in portfolios:
         item = str(getattr(pf, self.attribute))
         try:
             data[item] += pf.get_current_value()
         except:
             data[item] = pf.get_current_value()
     if sum(data.values()) == 0:
         self.values = {' ': 1}
     else:
         self.values = data
     yield 1
예제 #7
0
 def show_context_menu(self, event):
     context_menu = self.builder.get_object("position_contextmenu")
     move_menu = self.builder.get_object("move_menu")
     all_portfolios = container.get_all_portfolios()
     if len(all_portfolios) == 1:
         move_menu.set_visible(False)
     else:
         move_menu.set_visible(True)
         menu = Gtk.Menu()
         move_menu.set_submenu(menu)
         for pf in all_portfolios:
             if pf != self.portfolio:
                 item = Gtk.MenuItem(label=pf.name)
                 item.connect("activate", self.on_move_position, pf)
                 menu.append(item)
         move_menu.show_all()
     context_menu.popup(None, None, None, None, event.button, event.time)
예제 #8
0
    def _load_items(self):
        portfolios = container.get_all_portfolios()
        if len(portfolios) > 1:
            all_pf = container.AllPortfolio()
            all_pf.name = "<i>%s</i>" % (_('All'),)
            self.insert_portfolio(all_pf)
        for pf in portfolios:
            self.insert_portfolio(pf)
        for wl in container.get_all_watchlists():
            self.insert_watchlist(wl)

        accounts = account.get_all_accounts()
        if len(accounts) > 1:
            all_account = account.AllAccount()
            all_account.name = "<i>%s</i>" % (_('All'),)
            self.insert_account(all_account)
        for acc in accounts:
            self.insert_account(acc)
        self.tree.expand_all()
예제 #9
0
 def __init__(self, step):
     self.step = step
     self.birthday = min([pf.get_birthday() for pf in container.get_all_portfolios()])