Merge pull request #330 from om26er/windows-support
Enable Windows Support
This commit is contained in:
commit
40b30225d3
1
AUTHORS
1
AUTHORS
|
@ -21,6 +21,7 @@ Michael Billington
|
||||||
Michael Elsdörfer
|
Michael Elsdörfer
|
||||||
mrwunderbar666
|
mrwunderbar666
|
||||||
Nathan Bookham
|
Nathan Bookham
|
||||||
|
Omer Akram
|
||||||
Patrick Kanzler
|
Patrick Kanzler
|
||||||
primax79
|
primax79
|
||||||
Qian Linfeng
|
Qian Linfeng
|
||||||
|
|
|
@ -68,19 +68,24 @@ class Usb(Escpos):
|
||||||
self.idVendor = self.device.idVendor
|
self.idVendor = self.device.idVendor
|
||||||
self.idProduct = self.device.idProduct
|
self.idProduct = self.device.idProduct
|
||||||
|
|
||||||
check_driver = None
|
# pyusb has three backends: libusb0, libusb1 and openusb but
|
||||||
|
# only libusb1 backend implements the methods is_kernel_driver_active()
|
||||||
|
# and detach_kernel_driver().
|
||||||
|
# This helps enable this library to work on Windows.
|
||||||
|
if self.device.backend.__module__.endswith("libusb1"):
|
||||||
|
check_driver = None
|
||||||
|
|
||||||
try:
|
|
||||||
check_driver = self.device.is_kernel_driver_active(0)
|
|
||||||
except NotImplementedError:
|
|
||||||
pass
|
|
||||||
|
|
||||||
if check_driver is None or check_driver:
|
|
||||||
try:
|
try:
|
||||||
self.device.detach_kernel_driver(0)
|
check_driver = self.device.is_kernel_driver_active(0)
|
||||||
except usb.core.USBError as e:
|
except NotImplementedError:
|
||||||
if check_driver is not None:
|
pass
|
||||||
print("Could not detatch kernel driver: {0}".format(str(e)))
|
|
||||||
|
if check_driver is None or check_driver:
|
||||||
|
try:
|
||||||
|
self.device.detach_kernel_driver(0)
|
||||||
|
except usb.core.USBError as e:
|
||||||
|
if check_driver is not None:
|
||||||
|
print("Could not detatch kernel driver: {0}".format(str(e)))
|
||||||
|
|
||||||
try:
|
try:
|
||||||
self.device.set_configuration()
|
self.device.set_configuration()
|
||||||
|
|
Loading…
Reference in New Issue