17 lines
451 B
Python
17 lines
451 B
Python
import typing
|
|
import pathlib
|
|
from ..general import SysCommand
|
|
|
|
def udevadm_info(path :pathlib.Path) -> typing.Dict[str, str]:
|
|
if path.resolve().exists() is False:
|
|
return {}
|
|
|
|
result = SysCommand(f"udevadm info {path.resolve()}")
|
|
data = {}
|
|
for line in result:
|
|
if b': ' in line and b'=' in line:
|
|
_, obj = line.split(b': ', 1)
|
|
key, value = obj.split(b'=', 1)
|
|
data[key.decode('UTF-8').lower()] = value.decode('UTF-8').strip()
|
|
|
|
return data |