From 8459860b028abd8c987059a68ab0cc787c956f52 Mon Sep 17 00:00:00 2001 From: Martin Trigaux Date: Tue, 18 Oct 2016 09:43:41 +0200 Subject: [PATCH] [IMP] hw_escpos: more fault tolerant printer detection In some cases, the description fails (unknow printer, udev issues,...) and while the printer works fine, the description fails. This is a cherry pick of 994d45f4 to 8.0 (as the posbox is built on top of it) --- addons/hw_escpos/controllers/main.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/addons/hw_escpos/controllers/main.py b/addons/hw_escpos/controllers/main.py index 23672e12385..cefa8919580 100644 --- a/addons/hw_escpos/controllers/main.py +++ b/addons/hw_escpos/controllers/main.py @@ -86,10 +86,15 @@ class EscposDriver(Thread): printers = usb.core.find(find_all=True, idVendor=0x0519) for printer in printers: + try: + description = usb.util.get_string(printer, 256, printer.iManufacturer) + " " + usb.util.get_string(printer, 256, printer.iProduct) + except Exception as e: + _logger.error("Can not get printer description: %s" % (e.message or repr(e))) + description = 'Unknown printer' connected.append({ 'vendor': printer.idVendor, 'product': printer.idProduct, - 'name': usb.util.get_string(printer, 256, printer.iManufacturer) + " " + usb.util.get_string(printer, 256, printer.iProduct) + 'name': description }) return connected