mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
...
This commit is contained in:
parent
d65b7a715c
commit
97cae90435
@ -299,6 +299,15 @@ CM_Get_Device_Interface_List = cwrap('CM_Get_Device_Interface_ListW', CONFIGRET,
|
|||||||
# }}}
|
# }}}
|
||||||
|
|
||||||
# Utility functions {{{
|
# Utility functions {{{
|
||||||
|
|
||||||
|
_devid_pat = None
|
||||||
|
def devid_pat():
|
||||||
|
global _devid_pat
|
||||||
|
if _devid_pat is None:
|
||||||
|
_devid_pat = re.compile(r'VID_([a-f0-9]{4})&PID_([a-f0-9]{4})&REV_([a-f0-9]{4})', re.I)
|
||||||
|
return _devid_pat
|
||||||
|
|
||||||
|
|
||||||
class DeviceSet(object):
|
class DeviceSet(object):
|
||||||
|
|
||||||
def __init__(self, guid=GUID_DEVINTERFACE_VOLUME, enumerator=None, flags=DIGCF_PRESENT | DIGCF_DEVICEINTERFACE):
|
def __init__(self, guid=GUID_DEVINTERFACE_VOLUME, enumerator=None, flags=DIGCF_PRESENT | DIGCF_DEVICEINTERFACE):
|
||||||
@ -413,7 +422,7 @@ def get_device_id(devinst, buf=None):
|
|||||||
buf = create_unicode_buffer(devid_size.value)
|
buf = create_unicode_buffer(devid_size.value)
|
||||||
continue
|
continue
|
||||||
if ret != CR_CODES['CR_SUCCESS']:
|
if ret != CR_CODES['CR_SUCCESS']:
|
||||||
raise WindowsError((result, 'The cfgmgr32 function failed with err: %s' % CR_CODE_NAMES.get(result, result)))
|
raise WindowsError((ret, 'The cfgmgr32 function failed with err: %s' % CR_CODE_NAMES.get(ret, ret)))
|
||||||
break
|
break
|
||||||
return wstring_at(buf), buf
|
return wstring_at(buf), buf
|
||||||
|
|
||||||
@ -594,13 +603,6 @@ def get_drive_letters_for_device(vendor_id, product_id, bcd=None, storage_number
|
|||||||
ans['drive_letters'].sort(key=sort_map.get)
|
ans['drive_letters'].sort(key=sort_map.get)
|
||||||
return ans
|
return ans
|
||||||
|
|
||||||
_devid_pat = None
|
|
||||||
def devid_pat():
|
|
||||||
global _devid_pat
|
|
||||||
if _devid_pat is None:
|
|
||||||
_devid_pat = re.compile(r'VID_([a-f0-9]{4})&PID_([a-f0-9]{4})&REV_([a-f0-9]{4})', re.I)
|
|
||||||
return _devid_pat
|
|
||||||
|
|
||||||
def get_storage_number_map(drive_types=(DRIVE_REMOVABLE, DRIVE_FIXED), debug=False):
|
def get_storage_number_map(drive_types=(DRIVE_REMOVABLE, DRIVE_FIXED), debug=False):
|
||||||
mask = GetLogicalDrives()
|
mask = GetLogicalDrives()
|
||||||
type_map = {letter:GetDriveType(letter + ':' + os.sep) for i, letter in enumerate(string.ascii_uppercase) if mask & (1 << i)}
|
type_map = {letter:GetDriveType(letter + ':' + os.sep) for i, letter in enumerate(string.ascii_uppercase) if mask & (1 << i)}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user