URI: 
       tdefault ports to be used if we cannot get a list of peers - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit ea42a74824a291ad52ecaecc74c926fb34ea0283
   DIR parent 2a572a185afb42f59983c8a11601a0df3fb42f56
  HTML Author: ThomasV <thomasv@gitorious>
       Date:   Thu,  1 Nov 2012 11:43:59 +0100
       
       default ports to be used if we cannot get a list of peers
       
       Diffstat:
         M lib/gui_qt.py                       |      36 ++++++++++++++-----------------
       
       1 file changed, 16 insertions(+), 20 deletions(-)
       ---
   DIR diff --git a/lib/gui_qt.py b/lib/gui_qt.py
       t@@ -1374,6 +1374,7 @@ class ElectrumWindow(QMainWindow):
        
                server = interface.server
        
       +        plist = {}
                if not wallet.interface.servers:
                    servers_list = []
                    for x in DEFAULT_SERVERS:
       t@@ -1381,15 +1382,13 @@ class ElectrumWindow(QMainWindow):
                        servers_list.append( (h,[(protocol,port)] ) )
                else:
                    servers_list = wallet.interface.servers
       -            
       -        plist = {}
       -        for item in servers_list:
       -            _host, pp = item
       -            z = {}
       -            for item2 in pp:
       -                _protocol, _port = item2
       -                z[_protocol] = _port
       -            plist[_host] = z
       +            for item in servers_list:
       +                _host, pp = item
       +                z = {}
       +                for item2 in pp:
       +                    _protocol, _port = item2
       +                    z[_protocol] = _port
       +                plist[_host] = z
        
                d = QDialog(parent)
                d.setModal(1)
       t@@ -1403,7 +1402,7 @@ class ElectrumWindow(QMainWindow):
                l = QLabel()
                l.setPixmap(QPixmap(":icons/network.png"))
                hbox.addStretch(10)
       -        hbox.addWidget(l)        
       +        hbox.addWidget(l)
                hbox.addWidget(QLabel(status))
                hbox.addStretch(50)
                vbox.addLayout(hbox)
       t@@ -1423,6 +1422,7 @@ class ElectrumWindow(QMainWindow):
        
                protocol_names = ['TCP', 'HTTP', 'TCP/SSL', 'HTTPS']
                protocol_letters = 'thsg'
       +        DEFAULT_PORTS = {'t':'50001', 's':'50002', 'h':'8081', 'g':'8082'}
                server_protocol.addItems(protocol_names)
        
                grid.addWidget(QLabel(_('Server') + ':'), 0, 0)
       t@@ -1435,7 +1435,7 @@ class ElectrumWindow(QMainWindow):
                def change_protocol(p):
                    protocol = protocol_letters[p]
                    host = unicode(server_host.text())
       -            pp = plist[host]
       +            pp = plist.get(host,DEFAULT_PORTS)
                    if protocol not in pp.keys():
                        protocol = pp.keys()[0]
                    port = pp[protocol]
       t@@ -1448,32 +1448,29 @@ class ElectrumWindow(QMainWindow):
                servers_list_widget = QTreeWidget(parent)
                servers_list_widget.setHeaderLabels( [ label ] )
                servers_list_widget.setMaximumHeight(150)
       -        for _host in plist.keys():
       +        for _host, _x in servers_list:
                    servers_list_widget.addTopLevelItem(QTreeWidgetItem( [ _host ] ))
        
        
                def change_server(host, protocol=None):
       -            pp = plist.get(host,{})
       +            pp = plist.get(host,DEFAULT_PORTS)
                    if protocol:
                        port = pp.get(protocol)
                        if not port: protocol = None
                            
                    if not protocol:
       -                if not pp:
       -                    protocol = 't'
       -                    port = '50001'
       -                elif 't' in pp.keys():
       +                if 't' in pp.keys():
                            protocol = 't'
                            port = pp.get(protocol)
                        else:
                            protocol = pp.keys()[0]
                            port = pp.get(protocol)
       -
                    
                    server_host.setText( host )
                    server_port.setText( port )
                    server_protocol.setCurrentIndex(protocol_letters.index(protocol))
        
       +            if not plist: return
                    for p in protocol_letters:
                        i = protocol_letters.index(p)
                        j = server_protocol.model().index(i,0)
       t@@ -1482,9 +1479,8 @@ class ElectrumWindow(QMainWindow):
                        else:
                            server_protocol.model().setData(j, QtCore.QVariant(0,False), QtCore.Qt.UserRole-1)
        
       -        change_server(host,protocol)
       -
        
       +        change_server(host,protocol)
                servers_list_widget.connect(servers_list_widget, SIGNAL('itemClicked(QTreeWidgetItem*, int)'), lambda x: change_server(unicode(x.text(0))))
                grid.addWidget(servers_list_widget, 1, 1, 1, 3)