def _choose_new_hosts(self): def get_prompt(): if self._local_hosts: return "You may confirm this list (press 'Enter'), add (enter '+') or remove (enter its number) host: " else: return "You may confirm this list (press 'Enter') or add (enter '+') host: " def get_hosts_names(): return ', '.join('%s (#%d)' % (h, i) for i, h in enumerate(self._local_hosts)) or '[]' self._logger.log( "The following new hosts have been founded in your ssh config:", sleep=0) self._logger.log(get_hosts_names(), color='blue') while True: number = p_input(get_prompt()).strip() if number == '': break if number == '+': host = p_input("Enter host: ") conf = self._config.get_host(host) if list(conf.keys()) == ['host']: self._logger.log('There is no config for host "%s"!' % host, color='red', file=sys.stderr) else: self._local_hosts.append(host) else: try: number = int(number) if number >= len(self._local_hosts) or number < 0: raise IndexError except (ValueError, IndexError): self._logger.log("Incorrect index!", color='red', file=sys.stderr) continue else: self._local_hosts.pop(number) self._logger.log(get_hosts_names(), color='blue') if not self._local_hosts: self._valediction() sys.exit(0) return
def _choose_new_hosts(self): def get_prompt(): if self._local_hosts: return "You may confirm this list (press 'Enter'), add (enter '+') or remove (enter its number) host: " else: return "You may confirm this list (press 'Enter') or add (enter '+') host: " def get_hosts_names(): return ', '.join('%s (#%d)' % (h, i) for i, h in enumerate(self._local_hosts)) or '[]' self._logger.log("The following new hosts have been founded in your ssh config:", sleep=0) self._logger.log(get_hosts_names(), color='blue') while True: number = p_input(get_prompt()).strip() if number == '': break if number == '+': host = p_input("Enter host: ") conf = self._config.get_host(host) if list(conf.keys()) == ['host']: self._logger.log('There is no config for host "%s"!' % host, color='red', file=sys.stderr) else: self._local_hosts.append(host) else: try: number = int(number) if number >= len(self._local_hosts) or number < 0: raise IndexError except (ValueError, IndexError): self._logger.log("Incorrect index!", color='red', file=sys.stderr) continue else: self._local_hosts.pop(number) self._logger.log(get_hosts_names(), color='blue') if not self._local_hosts: self._valediction() sys.exit(0) return
def _choose_new_hosts(self): def get_connection_name(conn, number): name = self._get_sa_connection_name(conn) return '%s (#%d)' % (name, number) def get_connections_names(): return (', '.join( get_connection_name(c, i) for i, c in enumerate(self._sa_connections)) or 'There are no more connections!') if not self._sa_connections: self._logger.log( "There are no new connections on ServerAuditor's servers.") self._valediction() sys.exit(0) self._logger.log( "The following new hosts have been founded on ServerAuditor's servers:", sleep=0) self._logger.log(get_connections_names(), color='blue') prompt = "You may confirm this list (press 'Enter') or remove host (enter its number): " while len(self._sa_connections): number = p_input(prompt).strip() if number == '': break try: number = int(number) if number >= len(self._sa_connections) or number < 0: raise IndexError except (ValueError, IndexError): self._logger.log("Incorrect index!", color='red', file=sys.stderr) else: self._sa_connections.pop(number) self._logger.log(get_connections_names(), color='blue') if not self._sa_connections: self._valediction() sys.exit(0) return
def _choose_new_hosts(self): def get_connection_name(conn, number): name = self._get_sa_connection_name(conn) return '%s (#%d)' % (name, number) def get_connections_names(): return (', '.join(get_connection_name(c, i) for i, c in enumerate(self._sa_connections)) or 'There are no more connections!') if not self._sa_connections: self._logger.log("There are no new connections on ServerAuditor's servers.") self._valediction() sys.exit(0) self._logger.log("The following new hosts have been founded on ServerAuditor's servers:", sleep=0) self._logger.log(get_connections_names(), color='blue') prompt = "You may confirm this list (press 'Enter') or remove host (enter its number): " while len(self._sa_connections): number = p_input(prompt).strip() if number == '': break try: number = int(number) if number >= len(self._sa_connections) or number < 0: raise IndexError except (ValueError, IndexError): self._logger.log("Incorrect index!", color='red', file=sys.stderr) else: self._sa_connections.pop(number) self._logger.log(get_connections_names(), color='blue') if not self._sa_connections: self._valediction() sys.exit(0) return