code: def complete_node(arg):
      
  
      # get complete command from config
      try:
          cmd = cfg.get('global', 'complete_node_cmd')
      except configparser.NoOptionError:
          return [ '', ]
  
      cmd = re.sub('%search_string%', pipes.quote(arg), cmd)
  
      args = shlex.split(cmd)
      p = subprocess.Popen(args, stdout=subprocess.PIPE)
      res, err = p.communicate()
  
      nodes = res.split('\n')
      return nodes
docs: Complete node hostname
  
          This function is currently a bit special as it looks in the config file
          for a command to use to complete a node hostname from an external
          system.
  
          It is configured by setting the config attribute "complete_node_cmd" to
          a shell command. The string "%search_string%" in the command will be
          replaced by the current search string.