def _GetSystemProfilerOutput(self):
    argv = ['/usr/sbin/system_profiler', '-XML']

    if self._include_only:
      for data_type in self._include_only:
        if data_type in self.DATA_TYPES:
          argv.append(self.DATA_TYPES[data_type])

    try:
      s = subprocess.Popen(
          argv,
          stdout=subprocess.PIPE,
          stderr=subprocess.PIPE)
    except __HOLE__, e:
      raise SystemProfilerError(str(e))
    (stdout, stderr) = s.communicate()
    rc = s.wait()

    if rc != 0:
      raise SystemProfilerError('%d: %s' % (rc, stderr))

    return stdout
dataset/ETHPy150Open google/simian/src/simian/mac/common/hw.py/SystemProfile._GetSystemProfilerOutput