func manufacturerReader()

in dp_check/dp_check.go [518:540]


func manufacturerReader() (io.Reader, error) {
	switch runningOS {
	case "linux":
		return os.Open(linuxProductNameFile)
	case "windows":
		cmd := exec.Command(windowsCheckCommand, windowsCheckCommandArgs)
		out, err := cmd.Output()
		if err != nil {
			return nil, err
		}
		for _, line := range strings.Split(strings.TrimSuffix(string(out), "\n"), "\n") {
			if strings.HasPrefix(line, powershellOutputFilter) {
				re := regexp.MustCompile(windowsManufacturerRegex)
				name := re.FindString(line)
				name = strings.TrimLeft(name, ":")
				return strings.NewReader(name), nil
			}
		}
		return nil, errors.New("cannot determine the machine's manufacturer")
	default:
		return nil, platformError(runningOS)
	}
}