From b8ede1b333e3dd4d2a6c3553685e5026dfd2c346 Mon Sep 17 00:00:00 2001 From: Richard Neumann Date: Fri, 20 Aug 2021 18:13:23 +0200 Subject: Add cpuinfo() --- archinstall/lib/hardware.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'archinstall') diff --git a/archinstall/lib/hardware.py b/archinstall/lib/hardware.py index a63155f5..56a9fa11 100644 --- a/archinstall/lib/hardware.py +++ b/archinstall/lib/hardware.py @@ -1,7 +1,8 @@ import json import os import subprocess -from typing import Optional +from pathlib import Path +from typing import Iterator, Optional from .general import SysCommand from .networking import list_interfaces, enrich_iface_types @@ -57,6 +58,24 @@ AVAILABLE_GFX_DRIVERS = { "VMware / VirtualBox (open-source)": ["mesa", "xf86-video-vmware"], } +CPUINFO = Path("/proc/cpuinfo") + + +def cpuinfo() -> Iterator[dict[str, str]]: + """Yields information about the CPUs of the system.""" + + cpu = {} + + with CPUINFO.open() as file: + for line in file: + if not (line := line.strip()): + yield cpu + cpu = {} + continue + + key, value = line.split(":", maxsplit=1) + cpu[key.strip()] = value.strip() + def has_wifi() -> bool: return 'WIRELESS' in enrich_iface_types(list_interfaces().values()).values() -- cgit v1.2.3-70-g09d2