From 74764ddb511bf2fc7e5b74eda7145a9cdd0497c0 Mon Sep 17 00:00:00 2001 From: James Meyer Date: Fri, 22 Nov 2013 13:42:36 -0600 Subject: xymon: fix hobbit_myth_data.py so that higher alerts do not get overwritten by lower level alerts during the various tests. --- abs/core/xymon/hobbit_myth_data.py | 80 ++++++++++++++++++++++++++++++-------- 1 file changed, 63 insertions(+), 17 deletions(-) mode change 100644 => 100755 abs/core/xymon/hobbit_myth_data.py diff --git a/abs/core/xymon/hobbit_myth_data.py b/abs/core/xymon/hobbit_myth_data.py old mode 100644 new mode 100755 index 8b38fc6..52d6a6b --- a/abs/core/xymon/hobbit_myth_data.py +++ b/abs/core/xymon/hobbit_myth_data.py @@ -10,6 +10,12 @@ import sys,os from MythTV import MythBE,MythDB,MythLog +#0=green +#1=yellow +#2=red + + + BBLINE = '' BBCOLOR="green" DATE = time.strftime("%a %b %d %H:%M:%S %Z %Y", time.localtime(time.time())) @@ -25,6 +31,30 @@ if os.environ['MACHINE']: #print os.environ['MACHINE'] MACHINE=os.environ['MACHINE'] +#MACHINE='a' +#BB='b' +#BBDISP='12' + + +def set_color_code (current_color, new_color): + if new_color > current_color: + color = new_color + else: + color = current_color + return color + +def set_color(color_code): + color = "unknown" + if color_code == 0 : + color = "green" + elif color_code == 1 : + color = "yellow" + elif color_code == 2 : + color = "red" + + return color + + @@ -60,7 +90,7 @@ def find_data_left(): results=cursor.fetchall()[0][0] days_left = (results - today).days except: - days_left = "Undetermined " + days_left = "Undetermined" return days_left @@ -72,44 +102,60 @@ mtc=check_mtc(mtc_file) num_days=find_data_left() - +current_color=0 if mtc: - BBCOLOR="green" - msg="\n Maintenance script ran ok \n %s \n " %mtc_file + current_color = set_color_code(current_color,0) + msg="\n Maintenance script was successful \n Log file: %s\n " %mtc_file else: - BBCOLOR ="yellow" - msg="\n * Maintenance script didn't run. \n %s \n" %mtc_file + current_color = set_color_code(current_color,2) + msg=''' + ** Maintenance script did not run. ** + BACKUP FILE WAS NOT CREATED + + The system may have been busy + Log file: %s \n''' %mtc_file if num_days == 1 : - BBCOLOR="yellow" - msg+="\n * Only 1 day of guide data left" + current_color = set_color_code(current_color,1) + msg+="\n ** Only 1 day of guide data left **" elif num_days == 0 : - BBCOLOR="red " - msg+="\n * No guide data available" + current_color = set_color_code(current_color,2) + msg+="\n ** No guide data available **" elif num_days == -100 : - BBCOLOR="red" - msg+="\n ** Could not connect to database!" + current_color = set_color_code(current_color,2) + msg+="\n ** Could not connect to database ** " + +elif num_days == "Undetermined" : + current_color = set_color_code(current_color,1) + msg+="\n ** Could not determine how many days of guide data are available ** " + else: data_check = True - BBCOLOR="green" + current_color = set_color_code(current_color,0) msg+="\n %s days of guide data" %(num_days) if os.path.isfile("/data/storage/disk0/backup/system_backups/remote_backup_failed.txt"): - if BBCOLOR == "green": - BBCOLOR="yellow" - msg+="\n\n * Remote backup jobs are queued" + current_color = set_color_code(current_color,1) + msg+="\n\n ** Remote backup jobs are queued **" else: msg+="\n\n No remote backup jobs queued" -BBLINE=msg +BBLINE = msg +BBCOLOR = set_color(current_color) + LINE = "status " + MACHINE + ".myth_mtc" + " " + BBCOLOR + " " + DATE + " " + BBLINE cmd = BB + ' ' + BBDISP + ' "' + LINE + '"' os.system(cmd) +#print cmd +#print BBLINE +#print BBCOLOR + + sys.exit(0) -- cgit v0.12