URI: 
       texchange rate plugin: keep thread running (fixes #494) - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 4f78b5365b03b1a108bc3678473cfeb39c9ae47d
   DIR parent 2a9c62c9b80ff0d679bd09e75601a5198a493d1e
  HTML Author: ThomasV <thomasv@gitorious>
       Date:   Sat, 14 Dec 2013 07:49:21 +0100
       
       exchange rate plugin: keep thread running (fixes #494)
       
       Diffstat:
         M plugins/exchange_rate.py            |      17 ++++++++++++++++-
       
       1 file changed, 16 insertions(+), 1 deletion(-)
       ---
   DIR diff --git a/plugins/exchange_rate.py b/plugins/exchange_rate.py
       t@@ -20,6 +20,7 @@ class Exchanger(threading.Thread):
                self.parent = parent
                self.quote_currencies = None
                self.lock = threading.Lock()
       +        self.is_running = False
        
            def exchange(self, btc_amount, quote_currency):
                with self.lock:
       t@@ -30,7 +31,16 @@ class Exchanger(threading.Thread):
                    return None
                return btc_amount * quote_currencies[quote_currency]
        
       +    def stop(self):
       +        self.is_running = False
       +
            def run(self):
       +        self.is_running = True
       +        while self.is_running:
       +            self.update()
       +            time.sleep(120)
       +
       +    def update(self):
                try:
                    connection = httplib.HTTPConnection('blockchain.info')
                    connection.request("GET", "/ticker")
       t@@ -49,9 +59,10 @@ class Exchanger(threading.Thread):
                        quote_currencies[r] = self._lookup_rate(response, r)
                    with self.lock:
                        self.quote_currencies = quote_currencies
       -            self.parent.set_currencies(quote_currencies)
                except KeyError:
                    pass
       +        self.parent.set_currencies(quote_currencies)
       +        # print "updating exchange rate", self.quote_currencies["USD"]
        
                    
            def get_currencies(self):
       t@@ -110,6 +121,10 @@ class Plugin(BasePlugin):
                return out
        
        
       +    def close(self):
       +        self.exchanger.stop()
       +
       +
            def settings_widget(self, window):
                combo = QComboBox()