This commit is contained in:
root 2011-11-14 22:54:45 +03:00
parent c783d6ad3a
commit 26733107ff
1 changed files with 23 additions and 9 deletions

View File

@ -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
@ -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()
@ -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()
@ -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] = ''
@ -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'
@ -402,5 +415,6 @@ if __name__ == '__main__':
dblock.release()
except:
traceback.print_exc(file=sys.stdout)
print "continuing..."
time.sleep(10)