2
0
mirror of https://github.com/mbusb/multibootusb synced 2024-11-01 15:40:16 +00:00

linux: rethink device detection logic

Don't rely on ID_USB udev item
Should fix #110
This commit is contained in:
Alin Trăistaru 2017-04-19 23:29:05 +03:00
parent 4dcf38d523
commit 42f97f3a3c

View File

@ -98,13 +98,14 @@ def list_devices(partition=1, fixed=False):
import pyudev
context = pyudev.Context()
if fixed is True:
for device in context.list_devices(subsystem='block'):
if device.get('ID_BUS') in ("usb", "scsi", "ata") and device['DEVTYPE'] in ['disk', 'partition']:
for device in context.list_devices(subsystem='block', ID_BUS="usb"):
devices.append(str(device['DEVNAME']))
gen.log("\t" + device['DEVNAME'])
else:
for device in context.list_devices(subsystem='block', ID_BUS="usb"):
if fixed is True:
for device in context.list_devices(subsystem='block'):
if device.get('DEVTYPE') in ['disk', 'partition'] and device.get('ID_PART_TABLE_TYPE'):
if device['DEVNAME'] not in devices:
devices.append(str(device['DEVNAME']))
gen.log("\t" + device['DEVNAME'])