Message251663
Here's a rewrite with a cleaner while loop, at least to me:
def list_volumes():
vname = ctypes.create_unicode_buffer(wintypes.MAX_PATH)
vhandle = kernel32.FindFirstVolumeW(vname, len(vname))
if vhandle == INVALID_HANDLE_VALUE:
raise ctypes.WinError(ctypes.get_last_error())
volumes = [vname.value]
try:
while kernel32.FindNextVolumeW(vhandle, vname, len(vname)):
volumes.append(vname.value)
last_error = ctypes.get_last_error()
if last_error != ERROR_NO_MORE_FILES:
raise ctypes.WinError(last_error)
finally:
if not kernel32.FindVolumeClose(vhandle):
raise ctypes.WinError(ctypes.get_last_error())
return volumes |
|
Date |
User |
Action |
Args |
2015-09-26 21:25:55 | eryksun | set | recipients:
+ eryksun, Dum.Dum |
2015-09-26 21:25:55 | eryksun | set | messageid: <1443302755.33.0.151427230329.issue25241@psf.upfronthosting.co.za> |
2015-09-26 21:25:55 | eryksun | link | issue25241 messages |
2015-09-26 21:25:55 | eryksun | create | |
|