Prevent crash when using libusb0 printers

This commit is contained in:
Hark 2015-09-04 22:48:58 +01:00
parent 5eaa6f26d0
commit cd5969e843
1 changed files with 10 additions and 2 deletions

View File

@ -40,11 +40,19 @@ class Usb(Escpos):
if self.device is None: if self.device is None:
print "Cable isn't plugged in" print "Cable isn't plugged in"
if self.device.is_kernel_driver_active(0): 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) self.device.detach_kernel_driver(0)
except usb.core.USBError as e: except usb.core.USBError as e:
print "Could not detatch kernel driver: %s" % str(e) if check_driver is not None:
print "Could not detatch kernel driver: %s" % str(e)
try: try:
self.device.set_configuration() self.device.set_configuration()