save disabled flag (FIXME: every disabled timer is marked as done in the timerlist...
[enigma2.git] / RecordTimer.py
index 46a43825d565b5fe949c528ae518fd7510570a60..dd59cf027383264f717251af5380ec6aeb4baad1 100644 (file)
@@ -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):
                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()
@@ -181,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 = long(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"):
@@ -220,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('&', '&amp;').replace('<', '&lt;').replace('>', '&gt;').replace("'", '&apos;'). replace('"', '&qout;')
+
        def saveTimer(self):
                #doc = xml.dom.minidom.Document()
                #root_element = doc.createElement('timers')
@@ -273,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: