URI: 
       tmessages - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 26733107ff3a9451efd5b42e7eb9c0bb0f534d66
   DIR parent c783d6ad3aa42c1811c7bfcd08e7ddf64a808a71
  HTML Author: root <root@www.(none)>
       Date:   Mon, 14 Nov 2011 22:54:45 +0300
       
       messages
       
       Diffstat:
         M server/server.py                    |      32 ++++++++++++++++++++++---------
       
       1 file changed, 23 insertions(+), 9 deletions(-)
       ---
   DIR diff --git a/server/server.py b/server/server.py
       t@@ -21,14 +21,8 @@ Todo:
           * improve txpoint sorting
        """
        
       -f = open('/etc/electrum.conf','r')
       -SERVER_MESSAGE = f.read()
       -f.close()
       -
       -
        
        import time, socket, operator, thread, ast, sys
       -
        import psycopg2, binascii
        import bitcoinrpc
        
       t@@ -36,6 +30,18 @@ from Abe.abe import hash_to_address, decode_check_address
        from Abe.DataStore import DataStore as Datastore_class
        from Abe import DataStore, readconf, BCDataStream,  deserialize, util, base58
        
       +try:
       +    f = open('/etc/electrum.conf','r')
       +    data = f.read()
       +    f.close()
       +    HOST, PORT, SERVER_MESSAGE = ast.literal_eval(data)
       +except:
       +    print "could not read /etc/electrum.conf"
       +    SERVER_MESSAGE = "Welcome to Electrum"
       +    HOST = 'ecdsa.org'
       +    PORT = 50000
       +
       +
        
        sessions = {}
        dblock = thread.allocate_lock()
       t@@ -274,7 +280,7 @@ def listen_thread(store):
        
            s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
       -    s.bind(('ecdsa.org', 50000))
       +    s.bind((HOST, PORT))
            s.listen(1)
            while True:
                conn, addr = s.accept()
       t@@ -307,9 +313,15 @@ def client_thread(ipaddr,conn):
                elif cmd=='session':
                    import random, string
                    session_id = ''.join(random.choice(string.ascii_uppercase + string.digits) for x in range(10))
       -            print "new session", ipaddr, session_id, data
       +            try:
       +                addresses = ast.literal_eval(data)
       +            except:
       +                print "error"
       +                conn.close()
       +                return
       +
       +            print time.asctime(), "session", ipaddr, session_id, addresses[0], len(addresses)
        
       -            addresses = ast.literal_eval(data)
                    sessions[session_id] = {}
                    for a in addresses:
                        sessions[session_id][a] = ''
       t@@ -384,6 +396,7 @@ import traceback
        
        if __name__ == '__main__':
        
       +    print "starting Electrum server"
            conf = DataStore.CONFIG_DEFAULTS
            args, argv = readconf.parse_argv( [], conf)
            args.dbtype='psycopg2'
       t@@ -402,5 +415,6 @@ if __name__ == '__main__':
                    dblock.release()
                except:
                    traceback.print_exc(file=sys.stdout)
       +            print "continuing..."
                time.sleep(10)