code: def _run_pre_command(self, pre_cmd):
          '''
          Run a pre command to get external args for a command
          '''
          logger.debug('Executing pre-command: %s', pre_cmd)
          try:
              pre_proc = Popen(pre_cmd, stdout=PIPE, stderr=STDOUT, shell=True)
          except OSError as err:
              if err.errno == errno.ENOENT:
                  logger.debug('Command %s not found', pre_cmd)
              return
          stdout, stderr = pre_proc.communicate()
          the_return_code = pre_proc.poll()
          logger.debug("Pre-command results:")
          logger.debug("STDOUT: %s", stdout)
          logger.debug("STDERR: %s", stderr)
          logger.debug("Return Code: %s", the_return_code)
          if the_return_code != 0:
              return []
          if six.PY3:
              stdout = stdout.decode('utf-8')
          return stdout.splitlines(f _run_pre_command(self, pre_cmd):
          '''
          Run a pre command to get external args for a command
          '''
          logger.debug('Executing pre-command: %s', pre_cmd)
          try:
              pre_proc = Popen(pre_cmd, stdout=PIPE, stderr=STDOUT, shell=True)
          except OSError as err:
              if err.errno == errno.ENOENT:
                  logger.debug('Command %s not found', pre_cmd)
              return
          stdout, stderr = pre_proc.communicate()
          the_return_code = pre_proc.poll()
          logger.debug("Pre-command results:")
          logger.debug("STDOUT: %s", stdout)
          logger.debug("STDERR: %s", stderr)
          logger.debug("Return Code: %s", the_return_code)
          if the_return_code != 0:
              return []
          if six.PY3:
              stdout = stdout.decode('utf-8')
          return stdout.splitlines()
docs: Run a pre command to get external args for a command