[Bug 59060] Re: Invest applet renders incorrectly

Herbert V. Riedel hvr at gnu.org
Wed Jan 3 13:20:19 UTC 2007


well I took a look at the code and the changelog, and found out for some
questionable reasons, the behaviour was changed from displaying the
numeric worth of all investments to a color-trend based on the worth
change...

but looking at the code itself revealed, that the calculation seem
rather broken:

in the code below, the lines in the iterations should rather read like

  var = row[updater.VARIATION]
  now = row[updater.VALUE]
  start = now - var

to make more sense imho... also the color-scale sensitivity might be a
candidate for the preference dialog, as it might need considerable
(relative) worth-changes to cause a noticeable color change, depending
on the investments done...

(from http://svn.gnome.org/viewcvs/gnome-applets/trunk/invest-applet/invest/widgets.py?view=markup)
class InvestTrend(gtk.Image):
...
def on_quotes_update(self, updater):
		start_total = 0
		now_total = 0
		for row in updater:
			# Don't count the ticker only symbols in the color-trend
			if row[updater.TICKER_ONLY]:
				continue
				
			var = row[updater.VARIATION]/100
			now = row[updater.VALUE]

			start = now / (1 + var)
			
			portfolio_number = sum([purchase["amount"] for purchase in invest.STOCKS[row[updater.SYMBOL]]])
			start_total += start * portfolio_number
			now_total += now * portfolio_number
		
		day_var = (now_total - start_total) / start_total * 100
		color = int(2*day_var)
		opacity = min(0xFF, int(abs(127.5*day_var)))
		if day_var < 0:
			color = COLORSCALE_NEGATIVE[min(len(COLORSCALE_NEGATIVE)-1, abs(color))]
		else:
			color = COLORSCALE_POSITIVE[min(len(COLORSCALE_POSITIVE)-1, abs(color))]

                self.set_color(color, opacity)

-- 
Invest applet renders incorrectly
https://launchpad.net/bugs/59060




More information about the desktop-bugs mailing list