import timer
import xml.dom.minidom
-from enigma import quitMainloop
+from enigma import quitMainloop, eEPGCache
from Screens.MessageBox import MessageBox
import NavigationInstance
begin = ev.getBeginTime()
end = begin + ev.getDuration()
eit = ev.getEventId()
- begin -= config.recording.margin_before.value[0] * 60
- end += config.recording.margin_after.value[0] * 60
+ begin -= config.recording.margin_before.value * 60
+ end += config.recording.margin_after.value * 60
return (begin, end, name, description, eit)
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
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")
self.log(7, "prepare failed")
if self.first_try_prepare:
self.first_try_prepare = False
- if config.recording.asktozap.value == 0:
+ if not config.recording.asktozap.value:
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()
def createTimer(xml):
begin = int(xml.getAttribute("begin"))
end = int(xml.getAttribute("end"))
- serviceref = ServiceReference(str(xml.getAttribute("serviceref")))
+ serviceref = ServiceReference(xml.getAttribute("serviceref").encode("utf-8"))
description = xml.getAttribute("description").encode("utf-8")
repeated = xml.getAttribute("repeated").encode("utf-8")
disabled = long(xml.getAttribute("disabled") or "0")