mirror of
https://github.com/LBRYFoundation/LBRY-Vault.git
synced 2025-09-03 02:35:20 +00:00
separate commands from transport
This commit is contained in:
parent
c8ddf49833
commit
789639ff74
1 changed files with 180 additions and 155 deletions
|
@ -358,6 +358,21 @@ def client_thread(ipaddr,conn):
|
|||
conn.close()
|
||||
return
|
||||
|
||||
out = do_command(cmd, data, ipaddr)
|
||||
if out:
|
||||
#print ipaddr, cmd, len(out)
|
||||
try:
|
||||
conn.send(out)
|
||||
except:
|
||||
print "error, could not send"
|
||||
|
||||
finally:
|
||||
conn.close()
|
||||
|
||||
|
||||
|
||||
def do_command(cmd, data, ipaddr):
|
||||
|
||||
if cmd=='b':
|
||||
out = "%d"%block_number
|
||||
|
||||
|
@ -372,8 +387,7 @@ def client_thread(ipaddr,conn):
|
|||
if version[0]=="0": version = "v" + version
|
||||
except:
|
||||
print "error", data
|
||||
conn.close()
|
||||
return
|
||||
return None
|
||||
|
||||
print time.strftime("[%d/%m/%Y-%H:%M:%S]"), "new session", ipaddr, addresses[0] if addresses else addresses, len(addresses), version
|
||||
|
||||
|
@ -388,8 +402,7 @@ def client_thread(ipaddr,conn):
|
|||
session_id, addresses = ast.literal_eval(data)
|
||||
except:
|
||||
print "error"
|
||||
conn.close()
|
||||
return
|
||||
return None
|
||||
|
||||
print time.strftime("[%d/%m/%Y-%H:%M:%S]"), "update session", ipaddr, addresses[0] if addresses else addresses, len(addresses)
|
||||
|
||||
|
@ -414,18 +427,38 @@ def client_thread(ipaddr,conn):
|
|||
print "wallets", wallets
|
||||
|
||||
elif cmd == 'bccapi_getAccountInfo':
|
||||
import electrum
|
||||
from electrum import int_to_hex
|
||||
v, wallet_id = ast.literal_eval(data)
|
||||
w = wallets.get(wallet_id)
|
||||
if w is not None:
|
||||
num = len(w.addresses)
|
||||
c, u = w.get_balance()
|
||||
out = electrum.int_to_hex(num,4) + electrum.int_to_hex(c,8) + electrum.int_to_hex( c+u, 8 )
|
||||
out = int_to_hex(num,4) + int_to_hex(c,8) + int_to_hex( c+u, 8 )
|
||||
out = out.decode('hex')
|
||||
else:
|
||||
print "error",data
|
||||
out = "error"
|
||||
|
||||
elif cmd == 'bccapi_getAccountStatement':
|
||||
from electrum import int_to_hex
|
||||
v, wallet_id = ast.literal_eval(data)
|
||||
w = wallets.get(wallet_id)
|
||||
if w is not None:
|
||||
num = len(w.addresses)
|
||||
c, u = w.get_balance()
|
||||
total_records = num_records = 0
|
||||
out = int_to_hex(num,4) + int_to_hex(c,8) + int_to_hex( c+u, 8 ) + int_to_hex( total_records ) + int_to_hex( num_records )
|
||||
out = out.decode('hex')
|
||||
else:
|
||||
print "error",data
|
||||
out = "error"
|
||||
|
||||
elif cmd == 'bccapi_getSendCoinForm':
|
||||
out = ''
|
||||
|
||||
elif cmd == 'bccapi_submitTransaction':
|
||||
out = ''
|
||||
|
||||
elif cmd=='poll':
|
||||
session_id = data
|
||||
session = sessions.get(session_id)
|
||||
|
@ -513,15 +546,7 @@ def client_thread(ipaddr,conn):
|
|||
else:
|
||||
out = None
|
||||
|
||||
if out:
|
||||
#print ipaddr, cmd, len(out)
|
||||
try:
|
||||
conn.send(out)
|
||||
except:
|
||||
print "error, could not send"
|
||||
|
||||
finally:
|
||||
conn.close()
|
||||
return out
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue