self.log(1, "'record service' failed")
return False
else:
- prep_res = self.record_service.prepare(self.Filename + ".ts")
+ event_id = self.eit
+ if event_id is None:
+ event_id = -1
+ prep_res = self.record_service.prepare(self.Filename + ".ts", self.begin, self.end, event_id )
if prep_res:
self.log(2, "'prepare' failed: error %d" % prep_res)
self.record_service = None
serviceref = ServiceReference(str(xml.getAttribute("serviceref")))
description = xml.getAttribute("description").encode("utf-8")
repeated = xml.getAttribute("repeated").encode("utf-8")
- try:
- disabled = eval(xml.getAttribute("disabled"))
- except:
- disabled = False
- try:
- eit = long(xml.getAttribute("eit").encode("utf-8"))
- except:
+ disabled = long(xml.getAttribute("disabled") or "0")
+ if xml.hasAttribute("eit") and xml.getAttribute("eit") != "None":
+ eit = long(xml.getAttribute("eit"))
+ else:
eit = None
+
name = xml.getAttribute("name").encode("utf-8")
#filename = xml.getAttribute("filename").encode("utf-8")
entry = RecordTimerEntry(serviceref, begin, end, name, description, eit, disabled)
self.loadTimer()
except IOError:
print "unable to load timers from file!"
-
+
def isRecording(self):
isRunning = False
for timer in self.timer_list:
list.append(' repeated="' + str(int(timer.repeated)) + '"')
list.append(' name="' + str(self.strToXML(timer.name)) + '"')
list.append(' description="' + str(self.strToXML(timer.description)) + '"')
- list.append(' eit="' + str(timer.eit) + '"')
+ if timer.eit is not None:
+ list.append(' eit="' + str(timer.eit) + '"')
list.append(' disabled="' + str(int(timer.disabled)) + '"')
list.append('>\n')
print "[Timer] Record " + str(entry)
entry.Timer = self
self.addTimerEntry(entry)
+
+ def isInTimer(self, eventid, begin, duration, service):
+ time_match = 0
+ for x in self.timer:
+ if x.service_ref == service:
+ if x.eit is not None and x.repeated == 0:
+ if x.eit == eventid:
+ return duration
+ elif x.repeated != 0:
+ # TODO: implement!
+ pass
+ elif x.eit is None:
+ end = begin + duration
+ if begin <= x.begin <= end:
+ diff = end - x.begin
+ if time_match < diff:
+ time_match = diff
+ elif x.begin <= begin <= x.end:
+ diff = x.end - begin
+ if time_match < diff:
+ time_match = diff
+ return time_match
+
+
+
+
def removeEntry(self, entry):
print "[Timer] Remove " + str(entry)