ems/scr/swich.py
Philipp Rauch e70ef4de38 Config auf Module angewand
*die readConf wurde verbessert
*Standartwerte wurden hinterlegt
*In den Modulen wird das Configfile verwendet
2013-11-21 18:11:38 +01:00

81 lines
1.8 KiB
Python

'''
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)