def get_myth_data(tuners, scheduled, recorded, expiring):
    """
    Uses the python bindings to get information about the tuners,
    recent recordings and upcoming recordings.
    """
    myMyth = MythTV()
    output = ""

    if tuners:
        recorders = myMyth.getRecorderList()
        output = "Tuners:\n"
        status = "Idle"
        for i in range(len(recorders)):
            recorder_data = myMyth.getRecorderDetails(recorders[i])
            is_recording = myMyth.isRecording(recorders[i])
            if is_recording:
                status = "Recording"
                # Get the name of the recording.
                program = myMyth.getCurrentRecording(recorders[i])
                status = "Recording: %s (%s)" % (program.title, program.recgroup)
            else:
                status = "Idle"

            output = output + "%s (%s) %s\n" % (recorder_data.hostname, recorder_data.cardid, status)

    if scheduled > 0:
        upcoming_recordings = myMyth.getUpcomingRecordings()
        upcoming_progs = ""
        if (len(upcoming_recordings)) > scheduled:
            for recording in upcoming_recordings[0:scheduled]:
                upcoming_progs = upcoming_progs + "%s - %s (%s)\n" % (
                    recording.starttime,
                    recording.title,
                    recording.channame,
                )

        else:
            for recording in range(upcoming_recordings):
                upcoming_progs = upcoming_progs + "%s - %s (%s)\n" % (
                    recording.starttime,
                    recording.title,
                    recording.channame,
                )

        output = output + "\nScheduled recordings:\n%s" % (upcoming_progs)

    if recorded > 0:
        recorded_programs = myMyth.getRecordingList("Delete")
        recorded_progs = ""
        if (len(recorded_programs)) > recorded:
            for recording in recorded_programs[0:recorded]:
                recorded_progs = recorded_progs + "%s - %s (%s)\n" % (
                    recording.starttime,
                    recording.title,
                    recording.channame,
                )
        else:
            for recording in recorded_programs:
                recorded_progs = recorded_progs + "%s - %s (%s)\n" % (
                    recoring.starttime,
                    recording.title,
                    recording.channame,
                )

        output = output + "\nRecent Recordings:\n%s" % (recorded_progs)

    if expiring > 0:
        expiring_programs = myMyth.getExpiring()
        expiring_progs = ""
        if (len(expiring_programs)) > expiring:
            for recording in expiring_programs[0:expiring]:
                expiring_progs = expiring_progs + "%s - %s (%s)\n" % (
                    recording.starttime,
                    recording.title,
                    recording.channame,
                )
        else:
            for recording in expiring_programs:
                expiring_progs = expiring_progs + "%s - %s (%s)\n" % (
                    recording.starttime,
                    recording.title,
                    recording.channame,
                )

        output = output + "\nRecordings about to expire:\n%s" % (expiring_progs)

    return output
Beispiel #2
0
from MythTV import MythDB

d="/var/lib/mythtv/movies-group/rihanna/"



def cmpTime(a,b):
	atime = int(time.mktime(a.recstartts.timetuple()))
	btime = int(time.mktime(b.recstartts.timetuple()))
	return btime - atime

def filterMovies(a):
	return a.stars > 0 and a.recstatus == -1;
		

myth = MythTV()
db = MythDB()
c = db.cursor()
#                c.execute("""UPDATE recorded SET %s = %%s
#                                WHERE chanid=%%s and starttime=%%s""" % field,
#                                (value,self.chanid,self.starttime))
#                c.close()
progs = filter(filterMovies, myth.getPendingRecordings())

for p in sorted(progs, cmpTime):
	print "%s %s %-8s %-8s %-20s" % (p.recstartts, p.chanid, p.recgroup, p.storagegroup, p.title)
	if p.recgroup <> "Movies" or p.storagegroup <> "Movies":		
		c.execute("UPDATE record SET recgroup='Movies', storagegroup='Movies' WHERE recordid='%s'" % (p.recordid))
		print "UPDATE: %s!" % p.recordid

c.close()