From 8ae1bab112c9567ce4bbe26dee820a6dfe29daf2 Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Wed, 7 Dec 2011 13:24:16 -0600
Subject: LinHES-system: include myth_status.py/.sh This program will give a
 very brief summary of upcoming recordings. If the system is a MBE it will be
 run at login and output will be displayed on the terminal.

---
 abs/core/LinHES-system/myth_status.py | 76 +++++++++++++++++++++++++++++++++++
 abs/core/LinHES-system/myth_status.sh |  3 ++
 2 files changed, 79 insertions(+)
 create mode 100644 abs/core/LinHES-system/myth_status.py
 create mode 100644 abs/core/LinHES-system/myth_status.sh

diff --git a/abs/core/LinHES-system/myth_status.py b/abs/core/LinHES-system/myth_status.py
new file mode 100644
index 0000000..ce95c3e
--- /dev/null
+++ b/abs/core/LinHES-system/myth_status.py
@@ -0,0 +1,76 @@
+#!/usr/bin/python2
+from MythTV import MythBE,MythDB,MythLog
+import datetime,time,sys
+try:
+    be=MythBE()
+    db = MythDB()
+except:
+    print "Couldn't connect to MythTV service for status"
+    sys.exit(1)
+
+cursor = db.cursor()
+now = datetime.datetime.now()
+next_start_diff=0
+
+def formatTD(td): 
+  hours = td.seconds // 3600 
+  minutes = (td.seconds % 3600) // 60 
+  seconds = td.seconds % 60 
+  return '%s hours, %s minutes, %s seconds' % (hours, minutes, seconds)
+
+
+
+a=be.getRecorderList()
+header="#"*60
+print header
+print "\n"
+print "Tuner Status:            "
+print "--------------"
+for i in a:
+	cmd="select cardtype,hostname  from capturecard where cardid=%s;" %i
+
+	cursor.execute(cmd)
+	results=cursor.fetchall()
+	type = results[0][0]
+	hostname = results[0][1]
+	id = i
+	c=be.getCurrentRecording(i)
+	if c.title ==  None:
+		current_recording = "Idle"
+	else:
+		current_recording = "Recording %s" %c.title
+	print "    Tuner %s (%s) on %s : %s " %(id, type, hostname, current_recording)
+
+print ""
+print "Upcoming Recordings:"
+print "--------------------"
+a=be.getUpcomingRecordings()
+for i in a:
+	title_chan="%s (%s)" %(i.title, i.channame)
+	print "    %s - %s - %-50s " %(i.starttime,i.hostname, title_chan)
+	#start_time=time.strptime(str(i.starttime), "%Y-%m-%d %H:%M:%S") 
+
+	diff = i.starttime - now
+#	print diff.seconds
+	if diff.seconds < next_start_diff or next_start_diff == 0:
+		next_start_diff = diff.seconds
+
+print " "
+print "Conflicted Recordings:"
+print "----------------------"
+a=be.getConflictedRecordings()
+for i in a:
+	title_chan="%s (%s)" %(i.title, i.channame)
+	print "    %s -  %-50s " %(i.starttime,title_chan)
+
+print ""
+print ""
+if next_start_diff == 0:
+   ur="No recordings are scheduled"
+else:
+    d=(datetime.timedelta(seconds=next_start_diff))
+    ur=formatTD(d)
+print "The next recording starts in:\n     %s" %(ur)
+
+
+	
diff --git a/abs/core/LinHES-system/myth_status.sh b/abs/core/LinHES-system/myth_status.sh
new file mode 100644
index 0000000..bc986ec
--- /dev/null
+++ b/abs/core/LinHES-system/myth_status.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+MYTHCONFDIR=/usr/share/mythtv /usr/LH/bin/myth_status.py
+
-- 
cgit v0.12

