unified whitespace
parent
7177e470e5
commit
bf7859f05f
48
Logger.py
48
Logger.py
|
|
@ -22,11 +22,11 @@ class Logger(object):
|
||||||
self.records = settings.records
|
self.records = settings.records
|
||||||
self.units = settings.SENSOR_UNITS
|
self.units = settings.SENSOR_UNITS
|
||||||
|
|
||||||
def temp_rise(self,old,new,sensor):
|
def temp_rise(self, old, new,sensor):
|
||||||
if(old==self.temp_prev_default):
|
if(old == self.temp_prev_default):
|
||||||
return True
|
return True
|
||||||
if((old-new)>self.temp_max_diff or (new-old)>self.temp_max_diff):
|
if(((old-new) > self.temp_max_diff) or ((new-old) > self.temp_max_diff)):
|
||||||
self.log.write('error checking '+sensor+';prev('+str(old)+');cur('+str(new)+'); ... @'+time.ctime()+"\n")
|
self.log.write('error checking ' + sensor + ';prev(' + str(old) + ');cur(' + str(new) + '); ... @' + time.ctime() + "\n")
|
||||||
self.log.flush()
|
self.log.flush()
|
||||||
return False
|
return False
|
||||||
else:
|
else:
|
||||||
|
|
@ -35,42 +35,42 @@ class Logger(object):
|
||||||
##########################################
|
##########################################
|
||||||
# common function to write value to file #
|
# common function to write value to file #
|
||||||
##########################################
|
##########################################
|
||||||
def write_value(self,value,sensor):
|
def write_value(self, value, sensor):
|
||||||
# TODO: catch IOError
|
# TODO: catch IOError
|
||||||
valuename=self.records+"/"+sensor+"_"+preptime()
|
valuename = self.records + "/" + sensor + "_" + preptime()
|
||||||
valuelog=open(valuename,'a')
|
valuelog=open(valuename, 'a')
|
||||||
valuelog.write(str(value) + ';' + str(int(time.time())) +"\n")
|
valuelog.write(str(value) + ';' + str( int(time.time()) ) + "\n")
|
||||||
valuelog.close()
|
valuelog.close()
|
||||||
|
|
||||||
##########################################
|
##########################################
|
||||||
# generic callback #
|
# generic callback #
|
||||||
##########################################
|
##########################################
|
||||||
def cb_generic(self,value, sensor, type, supress = False):
|
def cb_generic(self,value, sensor, type, supress = False):
|
||||||
if(type == SensorType.temp):
|
if type == SensorType.temp:
|
||||||
i = int(sensor[-1])-1 #sensor contains name, followed by int
|
i = int(sensor[-1])-1 #sensor contains name, followed by int
|
||||||
if(self.temp_rise(self.prev_temps[i],value,sensor)):
|
if self.temp_rise(self.prev_temps[i], value, sensor):
|
||||||
self.write_value(value,sensor)
|
self.write_value(value, sensor)
|
||||||
self.prev_temps[i]=value
|
self.prev_temps[i] = value
|
||||||
elif (type == SensorType.none):
|
elif (type == SensorType.none):
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
self.write_value(value,sensor)
|
self.write_value(value, sensor)
|
||||||
unit=self.units[type]
|
unit = self.units[type]
|
||||||
if not supress:
|
if not supress:
|
||||||
print(sensor +': ' + str(value/unit[0]) + ' '+unit[1]+', ' + str(time.ctime()))
|
print(sensor + ': ' + str(value/unit[0]) + ' ' + unit[1] + ', ' + str(time.ctime()) )
|
||||||
|
|
||||||
###########################################
|
###########################################
|
||||||
# exception logging #
|
# exception logging #
|
||||||
###########################################
|
###########################################
|
||||||
def printException(self,inst):
|
def printException(self, inst):
|
||||||
tree=ET.parse(settings.exceptionlog)
|
tree = ET.parse(settings.exceptionlog)
|
||||||
root=tree.getroot()
|
root = tree.getroot()
|
||||||
new=ET.Element('exception',{'class':str(type(inst)).split("'")[1],'date':str(time.ctime()),'time':str(int(time.time())),'type':str(inst)})
|
new = ET.Element('exception', {'class':str( type(inst) ).split("'")[1], 'date':str( time.ctime() ), 'time':str( int(time.time()) ), 'type':str(inst)})
|
||||||
new.text=traceback.format_exc()
|
new.text = traceback.format_exc()
|
||||||
root.append(new)
|
root.append(new)
|
||||||
tree.write(settings.exceptionlog)
|
tree.write(settings.exceptionlog)
|
||||||
|
message = 'an Exception happend @' + time.ctime()+"\n"
|
||||||
self.log.write('an Exception happen during connection @'+time.ctime()+"\n")
|
self.log.write(message)
|
||||||
self.log.flush()
|
self.log.flush()
|
||||||
print('an Exception happen during connection @'+time.ctime()+"\n")
|
print(message)
|
||||||
#end#
|
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ class SensorSetup(object):
|
||||||
obj = Barometer(id, self.connection)
|
obj = Barometer(id, self.connection)
|
||||||
callback(obj.get_air_pressure())
|
callback(obj.get_air_pressure())
|
||||||
obj.set_air_pressure_callback_period(cbtime)
|
obj.set_air_pressure_callback_period(cbtime)
|
||||||
obj.register_callback(obj.CALLBACK_AIR_PRESSURE,callback)
|
obj.register_callback(obj.CALLBACK_AIR_PRESSURE, callback)
|
||||||
return obj
|
return obj
|
||||||
|
|
||||||
def setupNone(self, callback, id, cbtime):
|
def setupNone(self, callback, id, cbtime):
|
||||||
|
|
|
||||||
26
all.py
26
all.py
|
|
@ -28,8 +28,8 @@ def check_dirs_and_files():
|
||||||
|
|
||||||
def obtainLock(lockfile = settings.lockname):
|
def obtainLock(lockfile = settings.lockname):
|
||||||
if not os.path.exists(lockfile):
|
if not os.path.exists(lockfile):
|
||||||
lock=open(lockfile,'w')
|
lock = open(lockfile, 'w')
|
||||||
lock.write(str(time.time()))
|
lock.write( str(time.time()) )
|
||||||
lock.close()
|
lock.close()
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
@ -39,16 +39,16 @@ def freeLock(lockfile = settings.lockname):
|
||||||
os.remove(lockfile)
|
os.remove(lockfile)
|
||||||
|
|
||||||
def formatHost(host):
|
def formatHost(host):
|
||||||
return "%s:%d"%(host['name'], host['port'])
|
return "%s:%d" % (host['name'], host['port'])
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
check_dirs_and_files()
|
check_dirs_and_files()
|
||||||
log=open(settings.logname,'a')
|
log=open(settings.logname, 'a')
|
||||||
try:
|
try:
|
||||||
log.write('setting up "all" ... @'+time.ctime()+"\n")
|
log.write("setting up all ... @" + time.ctime() + "\n")
|
||||||
while True:
|
while True:
|
||||||
if obtainLock():
|
if obtainLock():
|
||||||
logger=Logger(log, )
|
logger = Logger(log)
|
||||||
try:
|
try:
|
||||||
connections = []
|
connections = []
|
||||||
connectedSensors = []
|
connectedSensors = []
|
||||||
|
|
@ -58,10 +58,10 @@ if __name__ == "__main__":
|
||||||
connection, sensors = conSetup.setupConnectionAndSensors(con['host'], con['sensors'], settings.TIMES, logger.cb_generic)
|
connection, sensors = conSetup.setupConnectionAndSensors(con['host'], con['sensors'], settings.TIMES, logger.cb_generic)
|
||||||
connections.append(connection)
|
connections.append(connection)
|
||||||
connectedSensors.append(sensors)
|
connectedSensors.append(sensors)
|
||||||
log.write("started logging at %s ... @ %s\n"% (formatHost(con['host']), time.ctime()))
|
log.write("started logging at " + formatHost(con['host']) + " ... @ " + time.ctime() + "\n")
|
||||||
log.flush()
|
log.flush()
|
||||||
raw_input('Press key to restart\n')
|
raw_input("Press key to restart\n")
|
||||||
log.write('stop logging... @'+time.ctime()+"\n")
|
log.write("stop logging... @" + time.ctime() + "\n")
|
||||||
conSetup.disconnectAny(connections)
|
conSetup.disconnectAny(connections)
|
||||||
except Exception as inst:
|
except Exception as inst:
|
||||||
#connection failed, log and exit
|
#connection failed, log and exit
|
||||||
|
|
@ -69,14 +69,14 @@ if __name__ == "__main__":
|
||||||
print(inst)
|
print(inst)
|
||||||
freeLock()
|
freeLock()
|
||||||
else:
|
else:
|
||||||
print('lock file active!!')
|
print("lock file active!!")
|
||||||
log.write('lock collision: lock "all" active @ '+time.ctime()+"\n")
|
log.write("lock collision: lock 'all' active @ " + time.ctime() + "\n")
|
||||||
print("wait for retry ("+str(settings.waitDelay)+")")
|
print("wait for retry (" + str(settings.waitDelay) + ")")
|
||||||
time.sleep(settings.waitDelay)
|
time.sleep(settings.waitDelay)
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
print(" Interrupted, cleaning up")
|
print(" Interrupted, cleaning up")
|
||||||
conSetup.disconnectAny(connections)
|
conSetup.disconnectAny(connections)
|
||||||
log.write("keyboard-interrupt happened @"+time.ctime()+"\n")
|
log.write("keyboard-interrupt happened @" + time.ctime() + "\n")
|
||||||
log.close()
|
log.close()
|
||||||
freeLock()
|
freeLock()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,27 +3,27 @@
|
||||||
|
|
||||||
import time
|
import time
|
||||||
|
|
||||||
def prevday(then,now):
|
def prevday(then, now):
|
||||||
#ist "then" gestern (oder noch älter)?
|
#ist "then" gestern (oder noch älter)?
|
||||||
greaterDay=(then.tm_yday < now.tm_yday) and (then.tm_year == now.tm_year)
|
greaterDay = (then.tm_yday < now.tm_yday) and (then.tm_year == now.tm_year)
|
||||||
if(greaterDay):
|
if greaterDay:
|
||||||
newYear=False
|
newYear = False
|
||||||
else:
|
else:
|
||||||
newYear=then.tm_year < now.tm_year
|
newYear = then.tm_year < now.tm_year
|
||||||
return (greaterDay) or (newYear)
|
return greaterDay or newYear
|
||||||
|
|
||||||
def preptime():
|
def preptime():
|
||||||
now=time.localtime()
|
now = time.localtime()
|
||||||
day=now.tm_mday
|
day = now.tm_mday
|
||||||
month=now.tm_mon
|
month = now.tm_mon
|
||||||
year=str(now.tm_year)
|
year = str(now.tm_year)
|
||||||
if(day<10):
|
if day < 10:
|
||||||
day="0"+str(day)
|
day = "0" + str(day)
|
||||||
else:
|
else:
|
||||||
day=str(day)
|
day = str(day)
|
||||||
if(month<10):
|
if( month < 10:
|
||||||
month="0"+str(month)
|
month = "0" str(month)
|
||||||
else:
|
else:
|
||||||
month=str(month)
|
month = str(month)
|
||||||
return month+"."+day+"."+year
|
return month + "." + day + "." + year
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue