show port number

This commit is contained in:
thomasv 2012-03-14 16:08:23 +01:00
parent c672b79523
commit 84ea4dae01
4 changed files with 33 additions and 30 deletions

View File

@ -265,18 +265,18 @@ def run_settings_dialog(wallet, parent):
def run_network_dialog( wallet, parent ): def run_network_dialog( wallet, parent ):
image = gtk.Image() image = gtk.Image()
image.set_from_stock(gtk.STOCK_NETWORK, gtk.ICON_SIZE_DIALOG) image.set_from_stock(gtk.STOCK_NETWORK, gtk.ICON_SIZE_DIALOG)
interface = wallet.interface
if parent: if parent:
if wallet.interface.is_connected: if interface.is_connected:
status = "Connected to %s.\n%d blocks\nresponse time: %f"%(wallet.interface.host, wallet.interface.blocks, wallet.interface.rtime) status = "Connected to %s:%d\n%d blocks\nresponse time: %f"%(interface.host, interface.port, interface.blocks, interface.rtime)
else: else:
status = "Not connected" status = "Not connected"
host = wallet.interface.host host = wallet.host
port = wallet.interface.port port = wallet.port
else: else:
import random import random
status = "Please choose a server." status = "Please choose a server."
host = random.choice( wallet.interface.servers ) host = random.choice( interface.servers )
port = 50000 port = 50000
dialog = gtk.MessageDialog( parent, gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT, dialog = gtk.MessageDialog( parent, gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
@ -1031,37 +1031,37 @@ class ElectrumWindow:
return vbox return vbox
def update_status_bar(self): def update_status_bar(self):
interface = self.wallet.interface
if self.funds_error: if self.funds_error:
text = "Not enough funds" text = "Not enough funds"
elif self.wallet.interface.is_connected: elif interface.is_connected:
self.network_button.set_tooltip_text("Connected to %s.\n%d blocks\nresponse time: %f"%(self.wallet.interface.host, self.wallet.interface.blocks, self.wallet.interface.rtime)) self.network_button.set_tooltip_text("Connected to %s:%d.\n%d blocks\nresponse time: %f"%(interface.host, interface.port, interface.blocks, interface.rtime))
if self.wallet.interface.blocks == 0: if interface.blocks == 0:
self.status_image.set_from_stock(gtk.STOCK_NO, gtk.ICON_SIZE_MENU) self.status_image.set_from_stock(gtk.STOCK_NO, gtk.ICON_SIZE_MENU)
text = "Server not ready" text = "Server not ready"
elif not self.wallet.interface.is_up_to_date: elif not interface.is_up_to_date:
self.status_image.set_from_stock(gtk.STOCK_REFRESH, gtk.ICON_SIZE_MENU) self.status_image.set_from_stock(gtk.STOCK_REFRESH, gtk.ICON_SIZE_MENU)
text = "Synchronizing..." text = "Synchronizing..."
else: else:
self.status_image.set_from_stock(gtk.STOCK_YES, gtk.ICON_SIZE_MENU) self.status_image.set_from_stock(gtk.STOCK_YES, gtk.ICON_SIZE_MENU)
self.network_button.set_tooltip_text("Connected to %s.\n%d blocks\nresponse time: %f"%(self.wallet.interface.host, self.wallet.interface.blocks, self.wallet.interface.rtime)) self.network_button.set_tooltip_text("Connected to %s:%d.\n%d blocks\nresponse time: %f"%(interface.host, interface.port, interface.blocks, interface.rtime))
c, u = self.wallet.get_balance() c, u = self.wallet.get_balance()
text = "Balance: %s "%( format_satoshis(c) ) text = "Balance: %s "%( format_satoshis(c) )
if u: text += "[%s unconfirmed]"%( format_satoshis(u,True) ) if u: text += "[%s unconfirmed]"%( format_satoshis(u,True) )
else: else:
self.status_image.set_from_stock(gtk.STOCK_NO, gtk.ICON_SIZE_MENU) self.status_image.set_from_stock(gtk.STOCK_NO, gtk.ICON_SIZE_MENU)
self.network_button.set_tooltip_text("Trying to contact %s.\n%d blocks"%(self.wallet.interface.host, self.wallet.interface.blocks)) self.network_button.set_tooltip_text("Trying to contact %s.\n%d blocks"%(interface.host, interface.blocks))
text = "Not connected" text = "Not connected"
self.status_bar.pop(self.context_id) self.status_bar.pop(self.context_id)
self.status_bar.push(self.context_id, text) self.status_bar.push(self.context_id, text)
if self.wallet.interface.was_updated: if interface.was_updated:
self.update_history_tab() self.update_history_tab()
self.update_receiving_tab() self.update_receiving_tab()
# addressbook too... # addressbook too...
self.info.set_text( self.wallet.interface.message ) self.info.set_text( interface.message )
self.wallet.interface.was_updated = False interface.was_updated = False
def update_receiving_tab(self): def update_receiving_tab(self):

View File

@ -828,18 +828,18 @@ class ElectrumWindow(QMainWindow):
@staticmethod @staticmethod
def network_dialog(wallet, parent=None): def network_dialog(wallet, parent=None):
interface = wallet.interface
if parent: if parent:
if wallet.interface.is_connected: if interface.is_connected:
status = "Connected to %s.\n%d blocks\nresponse time: %f"%(wallet.interface.host, wallet.interface.blocks, wallet.interface.rtime) status = "Connected to %s:%d\n%d blocks\nresponse time: %f"%(interface.host, interface.port, interface.blocks, interface.rtime)
else: else:
status = "Not connected" status = "Not connected"
host = wallet.interface.host host = wallet.host
port = wallet.interface.port port = wallet.port
else: else:
import random import random
status = "Please choose a server." status = "Please choose a server."
host = random.choice( wallet.interface.servers ) host = random.choice( interface.servers )
port = 50000 port = 50000
d = QDialog(parent) d = QDialog(parent)

View File

@ -334,7 +334,9 @@ def new_interface(wallet):
elif port in [80,8080,81,8181]: elif port in [80,8080,81,8181]:
interface = HttpInterface(host,port) interface = HttpInterface(host,port)
else: else:
raise BaseException("unknown protocol: %d"%port) print "unknown protocol: %d"%port
interface = NativeInterface(host,port)
return interface return interface
@ -343,14 +345,15 @@ def loop_interfaces_thread(wallet):
try: try:
wallet.interface.start_session(wallet) wallet.interface.start_session(wallet)
wallet.interface.get_servers() wallet.interface.get_servers()
wallet.interface.disconnected_event.wait()
print "Disconnected"
except socket.error: except socket.error:
print "Not connected" print "socket error"
time.sleep(5) time.sleep(5)
continue
except: except:
traceback.print_exc(file=sys.stdout) traceback.print_exc(file=sys.stdout)
continue continue
wallet.interface.disconnected_event.wait()
print "Disconnected"
wallet.interface = new_interface(wallet) wallet.interface = new_interface(wallet)

View File

@ -529,9 +529,9 @@ class Wallet:
'use_encryption':self.use_encryption, 'use_encryption':self.use_encryption,
'master_public_key': self.master_public_key.encode('hex'), 'master_public_key': self.master_public_key.encode('hex'),
'fee':self.fee, 'fee':self.fee,
'host':self.interface.host, 'host':self.host,
'port':self.interface.port, 'port':self.port,
'blocks':self.interface.blocks, #'blocks':self.interface.blocks,
'seed':self.seed, 'seed':self.seed,
'addresses':self.addresses, 'addresses':self.addresses,
'change_addresses':self.change_addresses, 'change_addresses':self.change_addresses,