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