''' Created on 15.11.2013 @author: Philipp Rauch @version: 0.1 ''' from threading import Thread from Queue import Queue #from CANFilter import CANFilter from time import sleep from config import readConf from MySQLdb import connect MYSQL = 0 CSV = 1 XML = 2 JSON = 3 conf = readConf() class Swich(Thread): _isInit = False def __init__(self, source = MYSQL): Thread.__init__(self) self.source = source def __del__(self): if self.source == MYSQL: self.CAN.join() def initialisiere(self): if self.source == MYSQL: _isInit = True ### start CAN ### # self.CAN = CANFilter() # self.CAN.start() self.CAN = None ### connect to DB ### self.connection = connect(host = conf['mySQL_server'], user = conf['mySQL_user'], passwd = conf['mySQL_pass'], db = conf['mySQL_database']) self.cursor = self.connection.cursor() ### init Queue ### self.queue = Queue() print '\tSWICH:\t', self.queue return self.queue, self.CAN elif self.source == CSV: pass elif self.source == XML: pass elif self.source == JSON: pass else: return def run(self): while True: sql = 'SELECT * FROM %s ORDER BY timestamp DESC LIMIT 1' # item = Swich.queue.get(block = True) item = 'EMS-TEST' # data = self.cursor.execute(sql % item) self.setQueue(item) sleep(0.5) def setQueue(self, item): self.queue.put(item) def getItem(self, block = False): return self.queue.get(block)