liquidctl
This commit is contained in:
25
_grains/lsusb.py
Normal file
25
_grains/lsusb.py
Normal file
@@ -0,0 +1,25 @@
|
||||
import re
|
||||
from subprocess import check_output
|
||||
|
||||
def main():
|
||||
dev_re = re.compile(r"Bus\s+(\d+)\s+Device\s+(\d+):\s+ID\s(\w+:\w+)\s(.+)$")
|
||||
lsusb = check_output("lsusb", encoding='UTF-8')
|
||||
devices = []
|
||||
corsair_aio = None
|
||||
for line in lsusb.splitlines():
|
||||
info = dev_re.match(line)
|
||||
if not info:
|
||||
continue
|
||||
bus, device, dev_id, tag = info.groups()
|
||||
dev_info = {
|
||||
"device": f"/dev/bus/usb/{bus}/{device}",
|
||||
"id": dev_id,
|
||||
"tag": tag,
|
||||
}
|
||||
if tag.startswith('Corsair H'):
|
||||
corsair_aio = tag.split(maxsplit=3)[1]
|
||||
devices.append(dev_info)
|
||||
return {
|
||||
'corsair_aio': corsair_aio,
|
||||
'lsusb': devices,
|
||||
}
|
||||
Reference in New Issue
Block a user