# -*- coding: cp1252 -*- ''' Created on 20.10.2011 @author: sth2mt ''' import subprocess import os import sys import time class Treiber(object): ''' classdocs ''' # Achtung dies ist Pseudo Singleton -> variablen werden statisch verwendet. Aufgeraumt wird erst wenn alle instanzen weg sindwird nur einmal instaniiert !!!! ObjCount = 0 _Thread_name = "ScanEngine" stout = False Init = None output = None Laut = 18 Leise = 5 sInhalt = "" if stout==True: valueVolume=Leise else: valueVolume=Laut def __init__(self): ''' Constructor ''' Treiber.ObjCount += 1 self.printf("%i.Construktor %s Anzahl" % (Treiber.ObjCount,Treiber._Thread_name)) if Treiber.output == None: self.printf("ScanEngine.open Log File") Treiber.output = open ("ScanEngine.log","w") def __del__(self): #print "~__del__\n" ''' Destructor ''' self.printf("%i Destruktor %s" % (Treiber.ObjCount,Treiber._Thread_name)) if Treiber.ObjCount == 1: self.printf("Reste aufraumen") if Treiber.output: Treiber.output.close() Treiber.output = None Treiber.Init = None if Treiber.ObjCount > 0: Treiber.ObjCount -= 1 pass def Start(self): f_BarCode=file self.printf("ScanEngine.Open()") try: errorcode=subprocess.call(["/home/tool/bin/ScanApp.elf"],stderr=Treiber.output,stdout=Treiber.output,shell=False) if errorcode!=0: self.printf("ScanEngine.Open() return error /home/tool/bin/ScanApp.elf") except IOError,e: print "ScanEngine.Open() %s" % e if errorcode==0: #Barcode einlesen f_BarCode = open("BarCode.txt",'r') self.printf("ReadTypFile():open(%s)"%"BarCode.txt") Treiber.sInhalt = f_BarCode.read() f_BarCode.close() self.printf("ReadTypFile(): %s"% Treiber.sInhalt) Treiber.output.flush() Treiber.Init = True return errorcode pass def printf(self,string): if Treiber.stout: print string pass