diff options
Diffstat (limited to 'abs/core-testing/LinHES-system/myth_mtc.py')
-rwxr-xr-x | abs/core-testing/LinHES-system/myth_mtc.py | 139 |
1 files changed, 0 insertions, 139 deletions
diff --git a/abs/core-testing/LinHES-system/myth_mtc.py b/abs/core-testing/LinHES-system/myth_mtc.py deleted file mode 100755 index 5505b0a..0000000 --- a/abs/core-testing/LinHES-system/myth_mtc.py +++ /dev/null @@ -1,139 +0,0 @@ -#!/usr/bin/python - - -import sys,popen2 -import optparse -import re -import socket -import os -import datetime,time - - - -try: - from MythTV import MythTV - mythtv = MythTV() -except: - mythtv = None - -#print mythtv.db.getSetting( 'Theme', socket.gethostname()) - -def optimize(): - cursor = mythtv.db.cursor() - cursor.execute("SHOW tables") - result = cursor.fetchall() - ops=["REPAIR","OPTIMIZE","ANALYZE"] - for row in result: - ctable=row[0] - for op in ops: - print op,ctable - cmd= "%s table %s" %(op,ctable) - cursor.execute(cmd) - - -def upcoming_check(): - upcoming = mythtv.getUpcomingRecordings() - try: - show=str(upcoming[0]) - show=show.strip() - showtime=show.partition("(")[2].strip(")") - now=time.time() - rec_time=time.strptime( showtime ,"%Y-%m-%d %H:%M:%S" ) - r=time.mktime(rec_time) - time_diff= ( r - now ) / 60 - except: - time_diff=100 - show="No show" - if ( time_diff > 30) : - return True - else: - print show , "is upcoming in " , time_diff - return False - - -def schemalock_check(): - c = mythtv.db.cursor() - c.execute("select count(*) from schemalock") - results=c.fetchone() - schemalock=results[0] - if schemalock == 0: - return True - else: - print "schema is locked" - return False - -def job_check(): - c = mythtv.db.cursor() - c.execute("select count(*) from jobqueue where status = 4") - results=c.fetchone() - jobs= results[0] - if jobs == 0 : - return True - else: - print " jobs are running" - return False - - -def in_use(): - c = mythtv.db.cursor() - c.execute("select count(*) from inuseprograms") - results=c.fetchone() - prginuse=results[0] - if prginuse == 0 : - return True - else: - print "programs in use" - return False - -def mfd_check(): - ismfd=popen2.Popen3('/bin/ps cax|/bin/grep -v grep |/bin/grep mythfilldatabase') - ismfd.wait() - mfdIdle=ismfd.poll() - if mfdIdle == 0: - print "mythfilldatabase is running" - return False - else: - return True - - - -def idle_check(): - if ( upcoming_check() and schemalock_check() and job_check() and in_use() and mfd_check() ): - idle=True - print "Myth is idle" - else: - idle=False - print "Myth is NOT idle" - return idle - -def run_stuff(): - if idle_check(): - print "Running optimize" - optimize() - - print "Running backup" - os.system('/usr/LH/bin/backup_job') - - print "Running system_update" - os.system('/usr/LH/bin/update_system') - continue_loop=False - else: - continue_loop=True - return continue_loop - -#--------------------------------- -starttime=time.time() -ctin=True -while ctin: - ctin=run_stuff() - if ctin: - time.sleep(600) - current_time=time.time() - if (current_time - starttime) > 10800 : - ctin = False - print "time exceeded (3 hours)" - exit(1) - - - - |