URI: 
       tsend_tx - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 55a6b1d1e898a35fedfaf71db350c8c6a2da5bee
   DIR parent 94b4ad8be77f8470e90274871d4a99f9c9074487
  HTML Author: ThomasV <thomasv@gitorious>
       Date:   Tue, 13 Mar 2012 23:06:06 +0100
       
       send_tx
       
       Diffstat:
         M client/interface.py                 |      16 +++++++++++++++-
       
       1 file changed, 15 insertions(+), 1 deletion(-)
       ---
   DIR diff --git a/client/interface.py b/client/interface.py
       t@@ -195,6 +195,7 @@ class NativeInterface(Interface):
        
        
        
       +import threading
        
        class TCPInterface(Interface):
            """json-rpc over persistent TCP connection"""
       t@@ -205,13 +206,19 @@ class TCPInterface(Interface):
                self.port = 50001
                self.s = socket.socket( socket.AF_INET, socket.SOCK_STREAM )
                self.s.connect(( self.host, self.port))
       +        self.tx_event = threading.Event()
        
            def send(self, cmd, params = []):
                request = json.dumps( { 'method':cmd, 'params':params } )
                self.s.send( request + '\n' )
        
            def send_tx(self, data):
       -        out = self.send('transaction.broadcast', data )
       +        self.tx_event.clear()
       +        self.send('transaction.broadcast', data )
       +        print "waiting for event.."
       +        self.tx_event.wait()
       +        out = self.tx_result
       +        print "result:", out
                return out
        
            def listen_thread(self, wallet):
       t@@ -233,9 +240,15 @@ class TCPInterface(Interface):
                            cmd = c.get('method')
                            if cmd == 'server.banner':
                                self.message = c.get('result')
       +
       +                    elif cmd == 'transaction.broadcast':
       +                        self.tx_result = c.get('result')
       +                        self.tx_event.set()
       +
                            elif cmd == 'numblocks.subscribe':
                                self.blocks = c.get('result')
                                print "num blocks",self.blocks
       +
                            elif cmd =='address.subscribe':
                                addr = c.get('address')
                                status = c.get('status')
       t@@ -245,6 +258,7 @@ class TCPInterface(Interface):
                                    self.is_up_to_date = False
                                else:
                                    self.is_up_to_date = True
       +
                            elif cmd == 'address.get_history':
                                addr = c.get('address')
                                print "updating history for", addr