Enable Windows Support

This commit is contained in:
Omer Akram 2019-05-22 16:39:26 +05:00
parent 52719c0b7d
commit 206822ac69
1 changed files with 15 additions and 11 deletions

View File

@ -17,6 +17,7 @@ import usb.core
import usb.util import usb.util
import serial import serial
import socket import socket
import sys
from .escpos import Escpos from .escpos import Escpos
from .exceptions import USBNotFoundError from .exceptions import USBNotFoundError
@ -68,19 +69,22 @@ 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 # detach_kernel_driver() doesn't really work on Windows,
# causing the library to not work on that platform.
if sys.platform != 'win32':
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()