X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/d76847392ff5cd26bc154f6c135310644c5c1d08..57b2443810050abf1b81172d0fb1365c836c82b4:/RecordTimer.py diff --git a/RecordTimer.py b/RecordTimer.py index 8f6999c9..e047075f 100644 --- a/RecordTimer.py +++ b/RecordTimer.py @@ -32,7 +32,7 @@ def parseEvent(ev): # please do not translate log messages class RecordTimerEntry(timer.TimerEntry): - def __init__(self, serviceref, begin, end, name, description, eit): + def __init__(self, serviceref, begin, end, name, description, eit, disabled = False): timer.TimerEntry.__init__(self, int(begin), int(end)) assert isinstance(serviceref, ServiceReference) @@ -42,8 +42,10 @@ class RecordTimerEntry(timer.TimerEntry): self.dontSave = False self.name = name self.description = description + self.disabled = disabled self.timer = None self.record_service = None + self.start_prepare = 0 self.log_entries = [] self.resetState() @@ -168,9 +170,12 @@ class RecordTimerEntry(timer.TimerEntry): self.log(14, "user didn't want to zap away, record will probably fail") def timeChanged(self): + old_prepare = self.start_prepare self.start_prepare = self.begin - self.prepare_time self.backoff = 0 - self.log(15, "record time changed, start prepare is now: %s" % time.ctime(self.start_prepare)) + + if old_prepare != self.start_prepare: + self.log(15, "record time changed, start prepare is now: %s" % time.ctime(self.start_prepare)) def createTimer(xml): begin = int(xml.getAttribute("begin")) @@ -178,10 +183,14 @@ def createTimer(xml): serviceref = ServiceReference(str(xml.getAttribute("serviceref"))) description = xml.getAttribute("description").encode("utf-8") repeated = xml.getAttribute("repeated").encode("utf-8") - eit = xml.getAttribute("eit").encode("utf-8") + disabled = eval(xml.getAttribute("disabled")) + try: + eit = long(xml.getAttribute("eit").encode("utf-8")) + except: + eit = None name = xml.getAttribute("name").encode("utf-8") #filename = xml.getAttribute("filename").encode("utf-8") - entry = RecordTimerEntry(serviceref, begin, end, name, description, eit) + entry = RecordTimerEntry(serviceref, begin, end, name, description, eit, disabled) entry.repeated = int(repeated) for l in elementsWithTag(xml.childNodes, "log"): @@ -217,7 +226,10 @@ class RecordTimer(timer.Timer): root = doc.childNodes[0] for timer in elementsWithTag(root.childNodes, "timer"): self.record(createTimer(timer)) - + + def strToXML(self, str): + return str.replace('&', '&').replace('<', '<').replace('>', '>').replace("'", '''). replace('"', '&qout;') + def saveTimer(self): #doc = xml.dom.minidom.Document() #root_element = doc.createElement('timers') @@ -270,9 +282,10 @@ class RecordTimer(timer.Timer): list.append(' end="' + str(int(timer.end)) + '"') list.append(' serviceref="' + str(timer.service_ref) + '"') list.append(' repeated="' + str(int(timer.repeated)) + '"') - list.append(' name="' + str(timer.name) + '"') - list.append(' description="' + str(timer.description) + '"') + list.append(' name="' + str(self.strToXML(timer.name)) + '"') + list.append(' description="' + str(self.strToXML(timer.description)) + '"') list.append(' eit="' + str(timer.eit) + '"') + list.append(' disabled="' + str(int(timer.disabled)) + '"') list.append('>\n') for time, code, msg in timer.log_entries: