From 7de8b5c615e735b6a86f6a014821dd8d5ac32f28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20van=20der=20Essen?= Date: Wed, 29 Jan 2014 14:24:08 +0100 Subject: [PATCH] [FIX] hw_scanner: do not use real keyboards as scanners, start driver thread on get status bzr revid: fva@openerp.com-20140129132408-fv56ihpz6cg3fi4n --- addons/hw_scanner/controllers/main.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/addons/hw_scanner/controllers/main.py b/addons/hw_scanner/controllers/main.py index 3e487cab404..9e327ba1647 100644 --- a/addons/hw_scanner/controllers/main.py +++ b/addons/hw_scanner/controllers/main.py @@ -109,8 +109,8 @@ class Scanner(Thread): if not evdev: return None devices = [ device for device in listdir(self.input_dir)] - keyboards = [ device for device in devices if 'kbd' in device ] - scanners = [ device for device in devices if ('barcode' in device.lower()) or ('scanner' in device.lower()) ] + keyboards = [ device for device in devices if ('kbd' in device) and ('keyboard' not in device.lower())] + scanners = [ device for device in devices if ('barcode' in device.lower()) or ('scanner' in device.lower())] if len(scanners) > 0: self.set_status('connected','Connected to '+scanners[0]) return evdev.InputDevice(join(self.input_dir,scanners[0])) @@ -144,6 +144,8 @@ class Scanner(Thread): return '' def get_status(self): + if not s.isAlive(): + s.start() return self.status def run(self):