tfix exchange_rate in kivy - electrum - Electrum Bitcoin wallet (HTM) git clone https://git.parazyd.org/electrum (DIR) Log (DIR) Files (DIR) Refs (DIR) Submodules --- (DIR) commit ba269963674d5b52bea3f544743bcafe70e87a3b (DIR) parent 6ad3f476406e7d61de62b14eac5d76b4a33eaf92 (HTM) Author: ThomasV <thomasv@electrum.org> Date: Tue, 15 Dec 2015 12:29:48 +0100 fix exchange_rate in kivy Diffstat: M gui/kivy/uix/screens.py | 11 ++++------- M plugins/exchange_rate/exchange_rat… | 7 ++++++- 2 files changed, 10 insertions(+), 8 deletions(-) --- (DIR) diff --git a/gui/kivy/uix/screens.py b/gui/kivy/uix/screens.py t@@ -105,9 +105,6 @@ class HistoryScreen(CScreen): d = LabelDialog(_('Enter Transaction Label'), text, callback) d.open() - def get_history_rate(self, btc_balance, timestamp): - date = timestamp_to_datetime(timestamp) - return run_hook('historical_value_str', btc_balance, date) def parse_history(self, items): for item in items: t@@ -125,7 +122,6 @@ class HistoryScreen(CScreen): time_str = _('pending') icon = "atlas://gui/kivy/theming/light/unconfirmed" elif conf < 6: - time_str = '' # add new to fix error when conf < 0 conf = max(1, conf) icon = "atlas://gui/kivy/theming/light/clock{}".format(conf) else: t@@ -137,9 +133,10 @@ class HistoryScreen(CScreen): label = _('Pruned transaction outputs') is_default_label = False - quote_currency = 'USD' - rate = self.get_history_rate(value, timestamp) - quote_text = "..." if rate is None else "{0:.3} {1}".format(rate, quote_currency) + date = timestamp_to_datetime(timestamp) + rate = run_hook('history_rate', date) + if self.app.fiat_unit: + quote_text = "..." if rate is None else "{0:.3} {1}".format(Decimal(value) / 100000000 * Decimal(rate), self.app.fiat_unit) yield (conf, icon, time_str, label, value, tx_hash, quote_text) (DIR) diff --git a/plugins/exchange_rate/exchange_rate.py b/plugins/exchange_rate/exchange_rate.py t@@ -341,13 +341,18 @@ class FxPlugin(BasePlugin, ThreadJob): return _("No data") @hook - def historical_value_str(self, satoshis, d_t): + def history_rate(self, d_t): rate = self.exchange.historical_rate(self.ccy, d_t) # Frequently there is no rate for today, until tomorrow :) # Use spot quotes in that case if rate is None and (datetime.today().date() - d_t.date()).days <= 2: rate = self.exchange.quotes.get(self.ccy) self.history_used_spot = True + return rate + + @hook + def historical_value_str(self, satoshis, d_t): + rate = self.history_rate(d_t) return self.value_str(satoshis, rate) @hook