summaryrefslogtreecommitdiffstats
path: root/abs/core/xymon/hobbit_myth_data.py
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/xymon/hobbit_myth_data.py')
-rw-r--r--abs/core/xymon/hobbit_myth_data.py94
1 files changed, 49 insertions, 45 deletions
diff --git a/abs/core/xymon/hobbit_myth_data.py b/abs/core/xymon/hobbit_myth_data.py
index 62a6a49..e870754 100644
--- a/abs/core/xymon/hobbit_myth_data.py
+++ b/abs/core/xymon/hobbit_myth_data.py
@@ -5,11 +5,16 @@
import urllib2
import string
-import time
+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']
@@ -17,77 +22,76 @@ if os.environ['BBDISP']:
#print os.environ['BBDISP']
BBDISP=os.environ['BBDISP']
if os.environ['MACHINE']:
- #print os.environ['MACHINE']
- MACHINE=os.environ['MACHINE']
+ #print os.environ['MACHINE']
+ MACHINE=os.environ['MACHINE']
-def check_mtc():
+def check_mtc(mtc_file):
try:
- infile = open('/var/log/mythtv/myth_mtc.log', 'r')
+ infile = open(mtc_file, 'r')
except(IOError), e:
- print "couldn't open myth_mtc.log file"
+ print "couldn't open %s file" %mtc_file
return False
else:
mtc = infile.readlines()
- for i in mtc:
- line=i
infile.close()
- if line.split()[0] == "Finished":
- return True
- else:
- return False
+ for i in mtc:
+ line=i
+ if line.split()[0] == "Finished":
+ return True
+ else:
+ return False
def find_data_left():
- try:
- f = urllib2.urlopen("http://localhost:6544")
- except:
- print 'error: could not find Masterbackend'
- days_left=-100
- return days_left
-# except urllib2.HTTPError, e:
-# if e.code != 200:
-# print 'error: could not find Masterbackend'
-# days_left=-100
- else:
- MBE_data = f.readlines()
- f.close()
-
- for line in MBE_data:
- if line.find("guide data") != -1:
- if line.find("no guide data") != -1:
- days_left = 0
- else:
- line=line.split("(")
- line=line[1].split(")")
- days_left=line[0].split()[0]
- return days_left
-
-
-mtc=check_mtc()
+ 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 Maintenace script ran ok \n "
+ msg="\n Maintenance script ran ok \n %s \n " %mtc_file
else:
BBCOLOR ="yellow"
- msg="\n Maintenance script didn't run \n"
+ msg="\n Maintenance script didn't run. \n %s \n" %mtc_file
if num_days == 1 :
BBCOLOR="yellow"
- msg+="Only 1 day of guide data left"
+ msg+="\nOnly 1 day of guide data left"
elif num_days == 0 :
- BBCOLOR="yellow"
- msg+="No guide data available"
+ BBCOLOR="red "
+ msg+="\nNo guide data available"
+
elif num_days == -100 :
BBCOLOR="red"
- msg+="Could not connect to master backend"
+ msg+="\nCould not connect to database"
else:
data_check = True
BBCOLOR="green"
- msg+="%s days of guide data" %(num_days)
+ msg+="\n %s days of guide data" %(num_days)
BBLINE=msg
LINE = "status " + MACHINE + ".myth_mtc" + " " + BBCOLOR + " " + DATE + " " + BBLINE