patch issue with del on windows

This commit is contained in:
Conor Patrick
2018-12-31 15:20:02 -05:00
parent 58605fd278
commit 1f380b0264

View File

@@ -37,6 +37,7 @@ from fido2.utils import Timeout
import usb.core import usb.core
import usb.util import usb.util
import usb._objfinalizer
from intelhex import IntelHex from intelhex import IntelHex
import serial import serial
@@ -341,6 +342,15 @@ class DFU:
self.state = s[4] self.state = s[4]
self.istring = s[5] self.istring = s[5]
# hot patch for windows libusb backend
olddel = usb._objfinalizer._AutoFinalizedObjectBase.__del__
def newdel(self):
try:
olddel(self)
except OSError:
pass
usb._objfinalizer._AutoFinalizedObjectBase.__del__ = newdel
class DFUDevice: class DFUDevice:
def __init__(self,): def __init__(self,):
pass pass
@@ -377,7 +387,6 @@ class DFUDevice:
else: else:
self.dev = usb.core.find(idVendor=0x0483, idProduct=0xDF11,) self.dev = usb.core.find(idVendor=0x0483, idProduct=0xDF11,)
#print (self.dev)
if self.dev is None: if self.dev is None:
raise RuntimeError('No ST DFU devices found.') raise RuntimeError('No ST DFU devices found.')