fn default()

in aziotctl/aziotctl-common/src/host_info.rs [69:109]


    fn default() -> Self {
        let mut result = Self {
            id: None,
            version_id: None,
            variant_id: None,
            build_id: None,
            arch: ARCH,
            bitness: BITNESS,
        };

        let os_release =
            fs::File::open("/etc/os-release").or_else(|_| fs::File::open("/usr/lib/os-release"));

        if let Ok(os_release) = os_release {
            let os_release = io::BufReader::new(os_release);

            for line in os_release.lines() {
                if let Ok(line) = &line {
                    match parse_shell_line(line) {
                        Some(("ID", value)) => {
                            result.id = Some(value.to_owned());
                        }
                        Some(("VERSION_ID", value)) => {
                            result.version_id = Some(value.to_owned());
                        }
                        Some(("VARIANT_ID", value)) => {
                            result.variant_id = Some(value.to_owned());
                        }
                        Some(("BUILD_ID", value)) => {
                            result.build_id = Some(value.to_owned());
                        }
                        _ => (),
                    };
                } else {
                    break;
                }
            }
        }

        result
    }