From f398554642cf0eea2331762687a4e85c916909af Mon Sep 17 00:00:00 2001
From: Britney Fransen <brfransen@gmail.com>
Date: Wed, 4 Feb 2015 22:21:37 +0000
Subject: LinHES-system: myth_mtc improvments

---
 abs/core/LinHES-system/PKGBUILD      |  6 ++---
 abs/core/LinHES-system/myth_mtc.cron | 49 ++++++++++++++++++++++++++++++------
 abs/core/LinHES-system/myth_mtc.py   | 31 +++++++++++++----------
 3 files changed, 63 insertions(+), 23 deletions(-)

diff --git a/abs/core/LinHES-system/PKGBUILD b/abs/core/LinHES-system/PKGBUILD
index 9fdc47b..2f77eaf 100755
--- a/abs/core/LinHES-system/PKGBUILD
+++ b/abs/core/LinHES-system/PKGBUILD
@@ -1,6 +1,6 @@
 pkgname=LinHES-system
 pkgver=8.3
-pkgrel=3
+pkgrel=4
 arch=('i686' 'x86_64')
 install=system.install
 pkgdesc="Everything that makes LinHES an automated system"
@@ -80,7 +80,7 @@ md5sums=('8415c4b2587a8a1e6a312484c1edafcb'
          'de32a1c50101265dd7f6ca5037f7a26a'
          '301884fb60521627fffd1160b2cf5181'
          '76b2637cac0452b3acdbeeb4e8a5474b'
-         '0149e77a12d30f1050dd3990f6f1f123'
+         'bfd41a145bec93270e21ad8d51662c48'
          'dc3eef2a624754e16805d72bbe488b67'
          '617af86b901538817ebdcaf646248dc5'
          '542e670e78d117657f93141e9689f54d'
@@ -132,7 +132,7 @@ md5sums=('8415c4b2587a8a1e6a312484c1edafcb'
          '410795ef9039e4c6c0484e706ecfd567'
          'eb879fee9603a05d5420d4ce8ed9e450'
          '02c810c2f47b7c4495fdacaf54189473'
-         'fae4162988de9525ba3f9341e17f9c52'
+         '4559a466e2dd2141308bd44f7794e837'
          '474d5c6883fcfffae4f199aceb3b1356'
          '8fe800181dcdf45bb7d7b36e4de8409e'
          '36bdfa8d877cea20ca3870faf08e08d5'
diff --git a/abs/core/LinHES-system/myth_mtc.cron b/abs/core/LinHES-system/myth_mtc.cron
index 4f63dec..637c0d6 100755
--- a/abs/core/LinHES-system/myth_mtc.cron
+++ b/abs/core/LinHES-system/myth_mtc.cron
@@ -4,20 +4,55 @@ MYTH_RUN_STATUS=1
 
 date=`date +%Y-%m-%d`
 timestamp=`date +'%Y-%m-%d %H:%M'`
-logFile="/var/log/$date/myth_mtc.log"
+hostname=`hostname`
+logFile="/var/log/${date}/${hostname}_myth_mtc.log"
 
 if [ ! -f $logFile ]; then
     touch $logFile
+    echo "" | logger -t myth_mtc
 fi
 
 #check logfile for Finished and if not run myth_mtc.py
-if ! grep -q "Finished" $logFile
+if ! grep -q "Finished Maintenance" $logFile
 then
-    MYTHCONFDIR=/usr/share/mythtv unbuffer myth_mtc.py >> $logFile 2>&1
-    if [ $? = 0 ]
+    if ! grep -q "Finished Optimize" $logFile
     then
-        echo "Finished $timestamp" >> $logFile
-    else
-        echo "Time Exceeded $timestamp" >> $logFile
+        MYTHCONFDIR=/usr/share/mythtv unbuffer myth_mtc.py --optimize | logger -t myth_mtc
+        if [ $? = 0 ]
+        then
+            echo "" | logger -t myth_mtc
+        else
+            echo "Time Exceeded" | logger -t myth_mtc
+            exit
+        fi
+    fi
+
+    if ! grep -q "Finished Backup" $logFile
+    then
+        MYTHCONFDIR=/usr/share/mythtv unbuffer myth_mtc.py --backup | logger -t myth_mtc
+        if [ $? = 0 ]
+        then
+            echo "" | logger -t myth_mtc
+        else
+            echo "Time Exceeded" | logger -t myth_mtc
+            exit
+        fi
+    fi
+
+    if ! grep -q "Finished Update" $logFile
+    then
+        MYTHCONFDIR=/usr/share/mythtv unbuffer myth_mtc.py --update | logger -t myth_mtc
+        if [ $? = 0 ]
+        then
+            echo "" | logger -t myth_mtc
+        else
+            echo "Time Exceeded" | logger -t myth_mtc
+            exit
+        fi
+    fi
+
+    if grep -q "Finished Optimize" $logFile && grep -q "Finished Backup" $logFile && grep -q "Finished Update" $logFile
+    then
+        echo "Finished Maintenance" | logger -t myth_mtc
     fi
 fi
diff --git a/abs/core/LinHES-system/myth_mtc.py b/abs/core/LinHES-system/myth_mtc.py
index b1ec75d..dcb3886 100755
--- a/abs/core/LinHES-system/myth_mtc.py
+++ b/abs/core/LinHES-system/myth_mtc.py
@@ -1,13 +1,11 @@
 #!/usr/bin/python2
 import sys, subprocess
-import optparse
 import re
 import socket
 import os
 import datetime,time
 import shlex
 sys.dont_write_bytecode = True
-import idle
 
 try:
     from MythTV import MythBE
@@ -30,7 +28,7 @@ def optimize():
         result = cursor.fetchall()
     except:
         print "\n%s Problem getting tables from the database" %(get_timestamp())
-	return
+        return 1
     ops=["REPAIR","OPTIMIZE","ANALYZE"]
     for row in result:
         ctable=row[0]
@@ -38,6 +36,7 @@ def optimize():
             print "    %s %s" %(op,ctable)
             cmd= "%s  table %s" %(op,ctable)
             cursor.execute(cmd)
+    return 0
 
 def cleanup_inuseprograms():
     fourHoursAgo=datetime.datetime.today() - datetime.timedelta(hours=4)
@@ -60,18 +59,24 @@ def bail_if_another_is_running():
 
 def run_stuff():
     print "\n%s" %get_timestamp()
-    if idle.main():
-        print "\n#######################################"
-        print "\n%s Running Optimize" %(get_timestamp())
-        optimize()
+    if not subprocess.call(["/usr/bin/python2", "/usr/LH/bin/idle.py"]):
+        if ("--optimize" in sys.argv) or (len(sys.argv) == 1):
+            print "\n#######################################"
+            print "\n%s Running Optimize" %(get_timestamp())
+            if not optimize():
+                print "\nFinished Optimize"
 
-        print "\n#######################################"
-        print "\n%s Running Backup" %(get_timestamp())
-        os.system('/usr/LH/bin/lh_system_backup_job')
+        if ("--backup" in sys.argv) or (len(sys.argv) == 1):
+            print "\n#######################################"
+            print "\n%s Running Backup" %(get_timestamp())
+            if not os.system('/usr/LH/bin/lh_system_backup_job'):
+                print "\nFinished Backup"
 
-        print "\n#######################################"
-        print "\n%s Running System Update" %(get_timestamp())
-        os.system('/usr/LH/bin/lh_system_host_update')
+        if ("--update" in sys.argv) or (len(sys.argv) == 1):
+            print "\n#######################################"
+            print "\n%s Running System Update" %(get_timestamp())
+            if not os.system('/usr/LH/bin/lh_system_host_update'):
+                print "\nFinished Update"
 
         print "\n#######################################"
         continue_loop=False
-- 
cgit v0.12

