#!/usr/bin/python2 # checks for the number of days of guide data left # make sure myth_mtc ran ok import urllib2 import string import time , datetime import sys,os from MythTV import MythBE,MythDB,MythLog BBLINE = '' BBCOLOR="green" DATE = time.strftime("%a %b %d %H:%M:%S %Z %Y", time.localtime(time.time())) if os.environ['BB']: #print os.environ['BB'] BB=os.environ['BB'] if os.environ['BBDISP']: #print os.environ['BBDISP'] BBDISP=os.environ['BBDISP'] if os.environ['MACHINE']: #print os.environ['MACHINE'] MACHINE=os.environ['MACHINE'] def check_mtc(mtc_file): try: infile = open(mtc_file, 'r') except(IOError), e: print "couldn't open %s file" %mtc_file return False else: mtc = infile.readlines() infile.close() for i in mtc: line=i if line.split()[0] == "Finished": return True else: return False def find_data_left(): days_left = 0 today = datetime.datetime.today() try: be=MythBE() db = MythDB() cursor = db.cursor() except: days_left = -100 return days_left try: cmd="select max(starttime) from program ;" cursor.execute(cmd) results=cursor.fetchall()[0][0] days_left = (results - today).days except: days_left = "Undetermined " return days_left now = datetime.datetime.now() date = "%s-%s-%s" %(now.year, now.month, now.day) mtc_file = "/var/log/%s/myth_mtc.log" %date mtc=check_mtc(mtc_file) num_days=find_data_left() if mtc: BBCOLOR="green" msg="\n Maintenance script ran ok \n %s \n " %mtc_file else: BBCOLOR ="yellow" msg="\n Maintenance script didn't run. \n %s \n" %mtc_file if num_days == 1 : BBCOLOR="yellow" msg+="\nOnly 1 day of guide data left" elif num_days == 0 : BBCOLOR="red " msg+="\nNo guide data available" elif num_days == -100 : BBCOLOR="red" msg+="\nCould not connect to database" else: data_check = True BBCOLOR="green" msg+="\n %s days of guide data" %(num_days) BBLINE=msg LINE = "status " + MACHINE + ".myth_mtc" + " " + BBCOLOR + " " + DATE + " " + BBLINE cmd = BB + ' ' + BBDISP + ' "' + LINE + '"' os.system(cmd) sys.exit(0)