Advertisement
Guest User

devices.py

a guest
Feb 20th, 2012
1,003
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.78 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2. import threading
  3. import usb
  4.  
  5.  
  6. class UsbDevice():
  7.     @staticmethod
  8.     def getDevices():
  9.         ''' Detecta las lectoras conectadas.
  10.        Retorna una lista.
  11.        '''
  12.         lectoras = usb.core.find(find_all=True)
  13.         detected = [usb.util.get_string(lectora, length=17, index=2, langid=0x0409) for lectora in lectoras]
  14.         return detected
  15.    
  16.     @staticmethod
  17.     def captureData():
  18.         ''' Captura los datos de las lectoras conectadas.'''
  19.         readers = usb.core.find(find_all=True)
  20.         for reader in readers:
  21.             nRead = Reader(reader)
  22.             nRead.start()
  23.        
  24. class Reader(threading.Thread):
  25.    
  26.     def __init__(self, device):
  27.         threading.Thread.__init__(self)
  28.         self.device = device
  29.        
  30.     def run(self):
  31.         self.endpoint = self.device[0][(0,0)][0]
  32.         while True:
  33.             self.data = []
  34.             self.dataList = []
  35.             for i in range(22):
  36.                 self.data = self.device.read(self.endpoint.bEndpointAddress, self.endpoint.wMaxPacketSize, timeout=99999999999999999)
  37.                 self.dataList.append(self.data)
  38.             self.convertData(self.dataList)
  39.            
  40.     def convertData(self, arraydata):
  41.         self.NUMMAP = {30: '1',
  42.                        31: '2',
  43.                        32: '3',
  44.                        33: '4',
  45.                        34: '5',
  46.                        35: '6',
  47.                        36: '7',
  48.                        37: '8',
  49.                        38: '9',
  50.                        39: '0',
  51.                        40: ' '}
  52.         i = 0
  53.         val = ''
  54.         while i < len(arraydata):
  55.             index = arraydata[i][2]
  56.             val += self.NUMMAP[index]
  57.             i += 2
  58.         print val
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement