use self.print_error

This commit is contained in:
ThomasV 2015-03-25 09:22:27 +01:00
parent 659301873c
commit f50a62755c
1 changed files with 14 additions and 13 deletions

View File

@ -64,15 +64,15 @@ class Blockchain(util.DaemonThread):
chain = self.get_chain( i, header ) chain = self.get_chain( i, header )
# skip that server if the result is not consistent # skip that server if the result is not consistent
if not chain: if not chain:
print_error('e') self.print_error('e')
continue continue
# verify the chain # verify the chain
if self.verify_chain( chain ): if self.verify_chain( chain ):
print_error("height:", height, i.server) self.print_error("height:", height, i.server)
for header in chain: for header in chain:
self.save_header(header) self.save_header(header)
else: else:
print_error("error", i.server) self.print_error("error", i.server)
# todo: dismiss that server # todo: dismiss that server
continue continue
self.network.new_blockchain_height(height, i) self.network.new_blockchain_height(height, i)
@ -132,7 +132,7 @@ class Blockchain(util.DaemonThread):
previous_hash = _hash previous_hash = _hash
self.save_chunk(index, data) self.save_chunk(index, data)
print_error("validated chunk %d"%height) self.print_error("validated chunk %d"%height)
@ -171,11 +171,11 @@ class Blockchain(util.DaemonThread):
try: try:
import urllib, socket import urllib, socket
socket.setdefaulttimeout(30) socket.setdefaulttimeout(30)
print_error("downloading ", self.headers_url ) self.print_error("downloading ", self.headers_url )
urllib.urlretrieve(self.headers_url, filename) urllib.urlretrieve(self.headers_url, filename)
print_error("done.") self.print_error("done.")
except Exception: except Exception:
print_error( "download failed. creating file", filename ) self.print_error( "download failed. creating file", filename )
open(filename,'wb+').close() open(filename,'wb+').close()
def save_chunk(self, index, chunk): def save_chunk(self, index, chunk):
@ -265,7 +265,7 @@ class Blockchain(util.DaemonThread):
def request_header(self, i, h, queue): def request_header(self, i, h, queue):
print_error("requesting header %d from %s"%(h, i.server)) self.print_error("requesting header %d from %s"%(h, i.server))
i.send_request({'method':'blockchain.block.get_header', 'params':[h]}, queue) i.send_request({'method':'blockchain.block.get_header', 'params':[h]}, queue)
def retrieve_request(self, queue): def retrieve_request(self, queue):
@ -273,7 +273,7 @@ class Blockchain(util.DaemonThread):
try: try:
ir = queue.get(timeout=1) ir = queue.get(timeout=1)
except Queue.Empty: except Queue.Empty:
print_error('blockchain: request timeout') self.print_error('blockchain: request timeout')
continue continue
i, r = ir i, r = ir
result = r['result'] result = r['result']
@ -290,7 +290,8 @@ class Blockchain(util.DaemonThread):
if requested_header: if requested_header:
header = self.retrieve_request(queue) header = self.retrieve_request(queue)
if not header: return if not header:
return
chain = [ header ] + chain chain = [ header ] + chain
requested_header = False requested_header = False
@ -304,7 +305,7 @@ class Blockchain(util.DaemonThread):
# verify that it connects to my chain # verify that it connects to my chain
prev_hash = self.hash_header(previous_header) prev_hash = self.hash_header(previous_header)
if prev_hash != header.get('prev_block_hash'): if prev_hash != header.get('prev_block_hash'):
print_error("reorg") self.print_error("reorg")
self.request_header(interface, height - 1, queue) self.request_header(interface, height - 1, queue)
requested_header = True requested_header = True
continue continue
@ -321,14 +322,14 @@ class Blockchain(util.DaemonThread):
max_index = (height + 1)/2016 max_index = (height + 1)/2016
n = min_index n = min_index
while n < max_index + 1: while n < max_index + 1:
print_error( "Requesting chunk:", n ) self.print_error( "Requesting chunk:", n )
i.send_request({'method':'blockchain.block.get_chunk', 'params':[n]}, queue) i.send_request({'method':'blockchain.block.get_chunk', 'params':[n]}, queue)
r = self.retrieve_request(queue) r = self.retrieve_request(queue)
try: try:
self.verify_chunk(n, r) self.verify_chunk(n, r)
n = n + 1 n = n + 1
except Exception: except Exception:
print_error('Verify chunk failed!') self.print_error('Verify chunk failed!')
n = n - 1 n = n - 1
if n < 0: if n < 0:
return False return False