X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/594521506b71c84ed3c422ddefa7a056a7adeba7..c5d48668f18226413164d84ff808547bb10fcbba:/RecordTimer.py diff --git a/RecordTimer.py b/RecordTimer.py index 87aa197c..1d343952 100644 --- a/RecordTimer.py +++ b/RecordTimer.py @@ -7,7 +7,7 @@ from Components.config import config import timer import xml.dom.minidom -from enigma import quitMainloop +from enigma import quitMainloop, eEPGCache, eEPGCachePtr from Screens.MessageBox import MessageBox import NavigationInstance @@ -42,9 +42,16 @@ class AFTEREVENT: # please do not translate log messages class RecordTimerEntry(timer.TimerEntry): - def __init__(self, serviceref, begin, end, name, description, eit, disabled = False, justplay = False, afterEvent = AFTEREVENT.NONE): + def __init__(self, serviceref, begin, end, name, description, eit, disabled = False, justplay = False, afterEvent = AFTEREVENT.NONE, checkOldTimers = False): timer.TimerEntry.__init__(self, int(begin), int(end)) + if checkOldTimers == True: + if self.begin < time.time() - 1209600: + self.begin = int(time.time()) + + if self.end < self.begin: + self.end = self.begin + assert isinstance(serviceref, ServiceReference) self.service_ref = serviceref @@ -108,7 +115,13 @@ class RecordTimerEntry(timer.TimerEntry): self.log(2, "'prepare' failed: error %d" % prep_res) self.record_service = None return False - + + if self.repeated: + epgcache = eEPGCache.getInstance() + queryTime=self.begin+(self.end-self.begin)/2 + evt = epgcache.lookupEventTime(self.service_ref.ref, queryTime) + if evt: + self.description = evt.getShortDescription() self.log(3, "prepare ok, writing meta information to %s" % self.Filename) try: f = open(self.Filename + ".ts.meta", "w") @@ -147,9 +160,10 @@ class RecordTimerEntry(timer.TimerEntry): self.first_try_prepare = False if config.recording.asktozap.value == 0: self.log(8, "asking user to zap away") - Notifications.AddNotificationWithCallback(self.failureCB, MessageBox, _("A timer failed to record!\nDisable TV and try again?\n")) + Notifications.AddNotificationWithCallback(self.failureCB, MessageBox, _("A timer failed to record!\nDisable TV and try again?\n"), timeout=20) else: # zap without asking self.log(9, "zap without asking") + Notifications.AddNotification(MessageBox, _("In order to record a timer, the TV was switched to the recording service!\n"), type=MessageBox.TYPE_INFO, timeout=20) self.failureCB(True) self.do_backoff()