code: def expand_args(command):
      
  
      # Prepare arguments.
      if isinstance(command, (str, unicode)):
          splitter = shlex.shlex(command.encode('utf-8'))
          splitter.whitespace = '|'
          splitter.whitespace_split = True
          command = []
  
          while True:
              token = splitter.get_token()
              if token:
                  command.append(token)
              else:
                  break
  
          command = list(map(shlex.split, command))
  
      return command
docs: Parses command strings and returns a Popen-ready list.