summaryrefslogtreecommitdiffstats
path: root/abs/core/LinHES-system/myth_mtc.py
diff options
context:
space:
mode:
authorBritney Fransen <brfransen@gmail.com>2014-02-05 19:16:04 (GMT)
committerBritney Fransen <brfransen@gmail.com>2014-02-05 19:16:04 (GMT)
commitdcaa0d05f36fb2f67fe245804ca7a6c3c7e12a5c (patch)
treec2427eab1fd00350e1cf4bdfe581513beff48b47 /abs/core/LinHES-system/myth_mtc.py
parent0fc8cbbd572a62abddb430a1ddc47c8039b514ec (diff)
downloadlinhes_pkgbuild-dcaa0d05f36fb2f67fe245804ca7a6c3c7e12a5c.zip
linhes_pkgbuild-dcaa0d05f36fb2f67fe245804ca7a6c3c7e12a5c.tar.gz
linhes_pkgbuild-dcaa0d05f36fb2f67fe245804ca7a6c3c7e12a5c.tar.bz2
LinHES-system: add idle.py to replace idle.sh. refs #958
update myth_mtc.py to use idle.py. update mythwelcome-config.py to update the db to use idle.py and run mythwelcome-config.py on install
Diffstat (limited to 'abs/core/LinHES-system/myth_mtc.py')
-rwxr-xr-xabs/core/LinHES-system/myth_mtc.py107
1 files changed, 3 insertions, 104 deletions
diff --git a/abs/core/LinHES-system/myth_mtc.py b/abs/core/LinHES-system/myth_mtc.py
index 7847313..c33a888 100755
--- a/abs/core/LinHES-system/myth_mtc.py
+++ b/abs/core/LinHES-system/myth_mtc.py
@@ -6,6 +6,7 @@ import socket
import os
import datetime,time
import shlex
+import idle
try:
from MythTV import MythBE
@@ -21,9 +22,7 @@ def get_timestamp():
date = (now.strftime('%Y-%m-%d %H:%M'))
return date
-
def optimize():
-
try:
cursor = mythtv.db.cursor()
cursor.execute("SHOW tables")
@@ -39,96 +38,6 @@ def optimize():
cmd= "%s table %s" %(op,ctable)
cursor.execute(cmd)
-
-def upcoming_check():
- print " Checking for upcoming shows"
- try:
- upcoming = mythtv.getUpcomingRecordings()
- except:
- return True
- 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 " %s is upcoming in %s" %(show,time_diff)
- return False
-
-
-def schemalock_check():
- print " Checking if schema is locked"
- try:
- c = mythtv.db.cursor()
- c.execute("select count(*) from schemalock")
- results=c.fetchone()
- schemalock=results[0]
- except:
- return True
-
- if schemalock == 0:
- return True
- else:
- print " schema is locked"
- return False
-
-def job_check():
- print " Checking jobqueue"
- try:
- c = mythtv.db.cursor()
- c.execute("select count(*) from jobqueue where status = 4")
- results=c.fetchone()
- except:
- return True
- jobs= results[0]
- if jobs == 0 :
- return True
- else:
- print " jobs are running"
- return False
-
-
-def in_use():
- print " Checking if programs are in use"
- try:
- c = mythtv.db.cursor()
- c.execute("select count(*) from inuseprograms")
- results=c.fetchone()
- except:
- return True
- prginuse=results[0]
- if prginuse == 0 :
- return True
- else:
- print " Programs in use"
- return False
-
-def mfd_check():
- print " Checking is mythfilldatabase is running"
- ps = subprocess.Popen("ps ax -o pid= -o args= ", shell=True, stdout=subprocess.PIPE)
- ps_pid = ps.pid
- output = ps.stdout.read()
- ps.stdout.close()
- ps.wait()
- proc_name="mythfilldatabase"
- for line in output.split("\n"):
- res = re.findall("(\d+) (.*)", line)
- if res:
- pid = int(res[0][0])
- if proc_name in res[0][1] and pid != os.getpid() and pid != ps_pid:
- print " mythfilldatabase is running"
- return False
-
- return True
-
def bail_if_another_is_running():
cmd = shlex.split("pgrep -u {} -f {}".format(os.getuid(), __file__))
pids = subprocess.check_output(cmd).strip().split('\n')
@@ -138,19 +47,9 @@ def bail_if_another_is_running():
__file__, " ".join(pids))
raise SystemExit(1)
-
-def idle_check():
- print "\n%s Checking Idle" %(get_timestamp())
- if ( upcoming_check() and schemalock_check() and job_check() and in_use() and mfd_check() ):
- idle=True
- print "\n%s Myth is idle" %(get_timestamp())
- else:
- idle=False
- print "\n%s Myth is NOT idle" %(get_timestamp())
- return idle
-
def run_stuff():
- if idle_check():
+ print "\n%s" %get_timestamp()
+ if idle.main():
print "\n#######################################"
print "\n%s Running Optimize" %(get_timestamp())
optimize()