def do_exec(self): if not self.exec_(): return host = str(self.server_host.text()) port = str(self.server_port.text()) protocol = 's' if self.ssl_cb.isChecked() else 't' # sanitize try: deserialize_server(serialize_server(host, port, protocol)) except: return if self.proxy_mode.currentText() != 'NONE': proxy = { 'mode': str(self.proxy_mode.currentText()).lower(), 'host': str(self.proxy_host.text()), 'port': str(self.proxy_port.text()) } else: proxy = None auto_connect = self.autoconnect_cb.isChecked() self.network.set_parameters(host, port, protocol, proxy, auto_connect) return True
def accept(self): host = str(self.server_host.text()) port = str(self.server_port.text()) protocol = 's' if self.ssl_cb.isChecked() else 't' # sanitize try: deserialize_server(serialize_server(host, port, protocol)) except: return if self.proxy_mode.currentText() != 'NONE': proxy = { 'mode': str(self.proxy_mode.currentText()).lower(), 'host': str(self.proxy_host.text()), 'port': str(self.proxy_port.text()), 'user': str(self.proxy_user.text()), 'password': str(self.proxy_password.text()) } else: proxy = None auto_connect = self.autoconnect_cb.isChecked() self.network.set_parameters(host, port, protocol, proxy, auto_connect) self.config.set_key('checkpoint_height', self.checkpoint_height) self.config.set_key('checkpoint_value', self.checkpoint_value)
def do_exec(self): if not self.exec_(): return host = str(self.server_host.text()) port = str(self.server_port.text()) protocol = 's' if self.ssl_cb.isChecked() else 't' # sanitize try: deserialize_server(serialize_server(host, port, protocol)) except: return if self.proxy_mode.currentText() != 'NONE': proxy = { 'mode':str(self.proxy_mode.currentText()).lower(), 'host':str(self.proxy_host.text()), 'port':str(self.proxy_port.text()) } else: proxy = None auto_connect = self.autoconnect_cb.isChecked() self.network.set_parameters(host, port, protocol, proxy, auto_connect) return True
def update(self, servers, protocol, use_tor): self.clear() for _host, d in sorted(servers.items()): if _host.endswith('.onion') and not use_tor: continue port = d.get(protocol) if port: x = QTreeWidgetItem([_host, port]) server = serialize_server(_host, port, protocol) x.setData(1, Qt.UserRole, server) self.addTopLevelItem(x) h = self.header() h.setStretchLastSection(False) h.setSectionResizeMode(0, QHeaderView.Stretch) h.setSectionResizeMode(1, QHeaderView.ResizeToContents)
def update(self, servers, protocol, use_tor): self.clear() for _host, d in sorted(servers.items()): if _host.endswith('.onion') and not use_tor: continue port = d.get(protocol) if port: x = QTreeWidgetItem([_host, port]) server = serialize_server(_host, port, protocol) x.setData(1, Qt.UserRole, server) self.addTopLevelItem(x) h = self.header() h.setStretchLastSection(False) h.setSectionResizeMode(0, QHeaderView.Stretch) h.setSectionResizeMode(1, QHeaderView.ResizeToContents)
def accept(self): host = str(self.server_host.text()) port = str(self.server_port.text()) protocol = "s" if self.ssl_cb.isChecked() else "t" # sanitize try: deserialize_server(serialize_server(host, port, protocol)) except: return if self.proxy_mode.currentText() != "NONE": proxy = { "mode": str(self.proxy_mode.currentText()).lower(), "host": str(self.proxy_host.text()), "port": str(self.proxy_port.text()), } else: proxy = None auto_connect = self.autoconnect_cb.isChecked() self.network.set_parameters(host, port, protocol, proxy, auto_connect)
def refresh(self) -> None: utils.NSLog("NETOWRK VC UPDATE, isMainThread = %s", str(NSThread.currentThread.isMainThread)) if not parent() or not parent().daemon or not parent().daemon.network: utils.NSLog( "NetworkDialogVC: No network defined, returning early from refresh" ) return if not parent().networkVC or not self.viewIfLoaded: utils.NSLog( "NetworkDialogVC: Returning early, view has been deallocated") return network = parent().daemon.network chains = network.get_blockchains() n_chains = len(chains) net_params = network.get_parameters() self.hostTF.text = str(net_params.host) self.portTF.text = str(net_params.port) self.lastPort = at(int(net_params.port)) self.autoServerSW.on = bool(net_params.auto_connect) host = network.interface.host if network.interface else _('None') self.serverLbl.text = str(host) # self.set_protocol(protocol) self.protocol = net_params.protocol servers_orig = network.get_servers() servers = [] if servers_orig: servers_orig = sorted(servers_orig.items()) use_tor = False for s in servers_orig: # filter out tor and servers with no port on our protocol host, d = s if host.endswith('.onion') and not use_tor: continue if d.get(self.protocol, None): ser_server = serialize_server(host, d.get(self.protocol), self.protocol) servers.append((host, d, ser_server)) utils.nspy_put_byname(self, servers, 'servers') self.peersTV.reloadData() self.updateAutoServerSWStuff() height_str = "%d " % (network.get_local_height()) + _('blocks') self.heightLbl.text = str(height_str) n = len(network.get_interfaces()) status = _("Connected to %d nodes.") % n if n else _("Not connected") self.statusLbl.text = str(status) if len(chains) > 1: chain = network.blockchain() checkpoint = chain.get_checkpoints() name = chain.get_name() msg = _('Chain split detected at block %d') % checkpoint + '\n' msg += (_('You are following branch') if net_params.auto_connect else _('Your server is on branch')) + ' ' + name msg += ' (%d %s)' % (chain.get_branch_size(), _('blocks')) else: msg = '' utils.uilabel_replace_attributed_text(self.splitLbl, msg, self.splitAttrTxtOrig) # setup 'connected' data -- list of ConnData items #connected = [] # for k, items in chains.items(): # b = network.blockchain[k] # name = b.get_name() # secHeader = _("Connected node") + ", " + _("Height") # secItems = list() # extraData = None # if n_chains > 1: # secHeader = "(" + (name + '@%d' % b.get_checkpoint()) + ") " + _("Host") + ", " + _("Height") # extraData = [False, b.checkpoint, name] # for i in items: # star = ' *' if i == network.interface else '' # extraData = [True, i.server, ''] # if n_chains <= 1 else extraData # item = [i.host + star, '%d' % i.tip, extraData] # secItems.append(item) # section = ConnData(secHeader, secItems) # connected.append(section) # utils.nspy_put_byname(self, connected, 'connected') self.connectedTV.reloadData()