summaryrefslogtreecommitdiffstats
path: root/abs/core/LinHES-system/myth_status.py
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/LinHES-system/myth_status.py')
-rw-r--r--abs/core/LinHES-system/myth_status.py76
1 files changed, 76 insertions, 0 deletions
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)
+
+
+