in selftest/selftest.py [0:0]
def query_udev_properties(interface_name: str) -> Dict[str, str]:
"""Query all udev properties for a given interface using udevadm."""
try:
result = subprocess.run(
[
"udevadm",
"info",
"--query=property",
f"--path={SYS_CLASS_NET}/{interface_name}",
],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
text=True,
check=True,
)
properties: Dict[str, str] = {}
for line in result.stdout.splitlines():
if "=" in line:
key, value = line.split("=", 1)
properties[key] = value
return properties
except subprocess.CalledProcessError as error:
logger.error(
"Failed to query udev properties for %s: %r", interface_name, error
)
return {}