mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-08 02:34:06 -04:00
Revert previous workaround for windows 10 issue as it does not work
This commit is contained in:
parent
bd2118a737
commit
a239bf686a
@ -444,28 +444,14 @@ def get_device_interface_detail_data(dev_list, p_interface_data, buf=None):
|
|||||||
# }}}
|
# }}}
|
||||||
|
|
||||||
def get_removable_drives(debug=False): # {{{
|
def get_removable_drives(debug=False): # {{{
|
||||||
pbuf = create_unicode_buffer(512)
|
drive_map = get_all_removable_drives(allow_fixed=False)
|
||||||
mask = GetLogicalDrives()
|
|
||||||
drives = {letter:GetDriveType(letter + ':' + os.sep) for i, letter in enumerate(string.ascii_uppercase) if mask & (1 << i)}
|
|
||||||
if debug:
|
if debug:
|
||||||
prints('Drive type map: %s' % drives)
|
prints('Drive map: %s' % drive_map)
|
||||||
drive_map = {}
|
|
||||||
for letter, drive_type in drives.iteritems():
|
|
||||||
# We need to allow both removable and fixed drives because some windows
|
|
||||||
# 10 machines that have been upgraded from a previous windows release
|
|
||||||
# mark USB drives as fixed. The fixed drives will only be added if
|
|
||||||
# "USBSTOR" in present in the volume device path, indicating that the drives,
|
|
||||||
# are, in fact, USB drives.
|
|
||||||
if drive_type in (DRIVE_REMOVABLE, DRIVE_FIXED):
|
|
||||||
try:
|
|
||||||
GetVolumeNameForVolumeMountPoint(letter + ':' + os.sep, pbuf, len(pbuf))
|
|
||||||
except WindowsError:
|
|
||||||
continue
|
|
||||||
drive_map[pbuf.value] = letter
|
|
||||||
if not drive_map:
|
if not drive_map:
|
||||||
raise NoRemovableDrives('No removable drives found!')
|
raise NoRemovableDrives('No removable drives found!')
|
||||||
|
|
||||||
buf = None
|
buf = None
|
||||||
|
pbuf = create_unicode_buffer(512)
|
||||||
ans = {}
|
ans = {}
|
||||||
with get_device_set() as dev_list:
|
with get_device_set() as dev_list:
|
||||||
interface_data = SP_DEVICE_INTERFACE_DATA()
|
interface_data = SP_DEVICE_INTERFACE_DATA()
|
||||||
@ -494,8 +480,7 @@ def get_removable_drives(debug=False): # {{{
|
|||||||
candidates.append(devpath)
|
candidates.append(devpath)
|
||||||
|
|
||||||
drive_letter = drive_letter_from_volume_devpath(devpath, drive_map)
|
drive_letter = drive_letter_from_volume_devpath(devpath, drive_map)
|
||||||
drive_type = drives.get(drive_letter)
|
if drive_letter:
|
||||||
if drive_type == DRIVE_REMOVABLE or (drive_type == DRIVE_FIXED and 'usbstor' in devpath.lower()):
|
|
||||||
ans[drive_letter] = candidates
|
ans[drive_letter] = candidates
|
||||||
if debug:
|
if debug:
|
||||||
prints('Found volume with device path:', devpath, ' Drive letter:', drive_letter, 'Is removable:', drive_letter in ans)
|
prints('Found volume with device path:', devpath, ' Drive letter:', drive_letter, 'Is removable:', drive_letter in ans)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user