URI: 
       tsimplification - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 9c7a3c83293e71f00dcef4d76a6028fbec19df84
   DIR parent c9c5c0d3bdd334c54d517ffd48aae75ff4f8bd0c
  HTML Author: thomasv <thomasv@gitorious>
       Date:   Fri,  4 May 2012 09:28:44 +0200
       
       simplification
       
       Diffstat:
         M interface.py                        |      11 ++++-------
         M wallet.py                           |      19 ++-----------------
       
       2 files changed, 6 insertions(+), 24 deletions(-)
       ---
   DIR diff --git a/interface.py b/interface.py
       t@@ -51,7 +51,7 @@ class Interface(threading.Thread):
                #json
                self.message_id = 0
                self.responses = Queue.Queue()
       -        self.methods = {}
       +        self.unanswered_requests = {}
        
            def poke(self):
                # push a fake response so that the getting thread exits its loop
       t@@ -68,7 +68,7 @@ class Interface(threading.Thread):
                    return
        
                if msg_id is not None:
       -            method, params = self.methods.pop(msg_id)
       +            method, params = self.unanswered_requests.pop(msg_id)
                    result = c.get('result')
                else:
                    # notification
       t@@ -163,7 +163,7 @@ class HttpStratumInterface(PollingInterface):
                    method, params = m
                    if type(params) != type([]): params = [params]
                    data.append( { 'method':method, 'id':self.message_id, 'params':params } )
       -            self.methods[self.message_id] = method, params
       +            self.unanswered_requests[self.message_id] = method, params
                    self.message_id += 1
        
                if data:
       t@@ -256,7 +256,7 @@ class TcpStratumInterface(Interface):
                for m in messages:
                    method, params = m 
                    request = json.dumps( { 'id':self.message_id, 'method':method, 'params':params } )
       -            self.methods[self.message_id] = method, params
       +            self.unanswered_requests[self.message_id] = method, params
                    #print "-->",request
                    self.message_id += 1
                    out += request + '\n'
       t@@ -362,9 +362,6 @@ class WalletSynchronizer(threading.Thread):
                        new_addresses = self.wallet.synchronize()
                        if new_addresses:
                            self.interface.subscribe(new_addresses)
       -                    for addr in new_addresses:
       -                        with self.wallet.lock:
       -                            self.wallet.addresses_waiting_for_status.append(addr)
        
                        if self.wallet.is_up_to_date():
                            if not self.wallet.up_to_date:
   DIR diff --git a/wallet.py b/wallet.py
       t@@ -283,9 +283,6 @@ class Wallet:
                self.lock = threading.Lock()
                self.tx_event = threading.Event()
        
       -        #
       -        self.addresses_waiting_for_status = []
       -        self.addresses_waiting_for_history = []
                self.pick_random_server()
        
        
       t@@ -294,8 +291,7 @@ class Wallet:
                self.server = random.choice( DEFAULT_SERVERS )         # random choice when the wallet is created
        
            def is_up_to_date(self):
       -        return self.interface.responses.empty() and not ( self.addresses_waiting_for_status or self.addresses_waiting_for_history )
       -
       +        return self.interface.responses.empty() and not self.interface.unanswered_requests
        
            def set_server(self, server):
                # raise an error if the format isnt correct
       t@@ -719,10 +715,7 @@ class Wallet:
                with self.lock:
                    if self.get_status(addr) != status:
                        #print "updating status for", addr, status
       -                self.addresses_waiting_for_history.append(addr)
                        self.interface.get_history(addr)
       -            if addr in self.addresses_waiting_for_status: 
       -                self.addresses_waiting_for_status.remove(addr)
        
            def receive_history_callback(self, addr, data): 
                #print "updating history for", addr
       t@@ -730,7 +723,6 @@ class Wallet:
                    self.history[addr] = data
                    self.update_tx_history()
                    self.save()
       -            if addr in self.addresses_waiting_for_history: self.addresses_waiting_for_history.remove(addr)
        
            def get_tx_history(self):
                lines = self.tx_history.values()
       t@@ -953,15 +945,8 @@ class Wallet:
        
            def start_session(self, interface):
                self.interface = interface
       -        with self.lock:
       -            self.addresses_waiting_for_status = []
       -            self.addresses_waiting_for_history = []
       -            addresses = self.all_addresses()
       -            for addr in addresses:
       -                self.addresses_waiting_for_status.append(addr)
       -
                self.interface.send([('server.banner',[]), ('blockchain.numblocks.subscribe',[]), ('server.peers.subscribe',[])])
       -        self.interface.subscribe(addresses)
       +        self.interface.subscribe(self.all_addresses())