Add cpuinfo()
This commit is contained in:
parent
3a40764194
commit
b8ede1b333
|
|
@ -1,7 +1,8 @@
|
||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
import subprocess
|
import subprocess
|
||||||
from typing import Optional
|
from pathlib import Path
|
||||||
|
from typing import Iterator, Optional
|
||||||
|
|
||||||
from .general import SysCommand
|
from .general import SysCommand
|
||||||
from .networking import list_interfaces, enrich_iface_types
|
from .networking import list_interfaces, enrich_iface_types
|
||||||
|
|
@ -57,6 +58,24 @@ AVAILABLE_GFX_DRIVERS = {
|
||||||
"VMware / VirtualBox (open-source)": ["mesa", "xf86-video-vmware"],
|
"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:
|
def has_wifi() -> bool:
|
||||||
return 'WIRELESS' in enrich_iface_types(list_interfaces().values()).values()
|
return 'WIRELESS' in enrich_iface_types(list_interfaces().values()).values()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue