[IMP] hw_escpos: moved list of supported printers to a separate file
authorFrédéric van der Essen <fva@openerp.com>
Wed, 29 Jan 2014 16:32:59 +0000 (17:32 +0100)
committerFrédéric van der Essen <fva@openerp.com>
Wed, 29 Jan 2014 16:32:59 +0000 (17:32 +0100)
bzr revid: fva@openerp.com-20140129163259-xdarcaw4qcqprvt6

addons/hw_escpos/controllers/main.py
addons/hw_escpos/escpos/__init__.py
addons/hw_escpos/escpos/supported_devices.py [new file with mode: 0644]

index 81ae2b4..5b42e97 100644 (file)
@@ -21,6 +21,7 @@ except ImportError:
 from openerp.tools.translate import _
 from .. import escpos
 from ..escpos import printer
+from ..escpos import supported_devices
 from PIL import Image
 
 from openerp import http
@@ -35,21 +36,16 @@ class EscposDriver(Thread):
         self.queue = Queue()
         self.status = {'status':'connecting', 'messages':[]}
 
-        self.supported_printers = [
-            { 'vendor' : 0x04b8, 'product' : 0x0e03, 'name' : 'Epson TM-T20' },
-            { 'vendor' : 0x04b8, 'product' : 0x0202, 'name' : 'Epson TM-T70' },
-        ]
-
-    def connected_usb_devices(self,devices):
+    def connected_usb_devices(self):
         connected = []
-        for device in devices:
+        for device in supported_devices.device_list:
             if usb.core.find(idVendor=device['vendor'], idProduct=device['product']) != None:
                 connected.append(device)
         return connected
     
     def get_escpos_printer(self):
         try:
-            printers = self.connected_usb_devices(self.supported_printers)
+            printers = self.connected_usb_devices()
             if len(printers) > 0:
                 self.set_status('connected','Connected to '+printers[0]['name'])
                 return escpos.printer.Usb(printers[0]['vendor'], printers[0]['product'])
index 22a5af6..3fdedde 100644 (file)
@@ -1 +1 @@
-__all__ = ["constants","escpos","exceptions","printer"]
+__all__ = ["constants","escpos","exceptions","printer","supported_devices"]
diff --git a/addons/hw_escpos/escpos/supported_devices.py b/addons/hw_escpos/escpos/supported_devices.py
new file mode 100644 (file)
index 0000000..2c6a6be
--- /dev/null
@@ -0,0 +1,10 @@
+#!/usr/bin/python
+
+# This is a list of esc/pos compatible usb printers. The vendor and product ids can be found by
+# typing lsusb in a linux terminal, this will give you the ids in the form ID VENDOR:PRODUCT
+
+device_list = [
+    { 'vendor' : 0x04b8, 'product' : 0x0e03, 'name' : 'Epson TM-T20' },
+    { 'vendor' : 0x04b8, 'product' : 0x0202, 'name' : 'Epson TM-T70' },
+]
+