some TimerEntry-fixes
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Thu, 17 Nov 2005 02:07:44 +0000 (02:07 +0000)
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Thu, 17 Nov 2005 02:07:44 +0000 (02:07 +0000)
saving and loading the timer-repeated flag to the timers.xml-file

RecordTimer.py
lib/python/Screens/TimerEntry.py
timer.py

index aa48415..c3b948d 100644 (file)
@@ -86,9 +86,12 @@ def createTimer(xml):
        end = int(xml.getAttribute("end"))
        serviceref = ServiceReference(str(xml.getAttribute("serviceref")))
        description = xml.getAttribute("description")
+       repeated = xml.getAttribute("repeated")
        epgdata = xml.getAttribute("epgdata")
        #filename = xml.getAttribute("filename")
-       return RecordTimerEntry(begin, end, serviceref, epgdata, description)
+       entry = RecordTimerEntry(begin, end, serviceref, epgdata, description)
+       entry.repeated = int(repeated)
+       return entry
 
 class RecordTimer(timer.Timer):
        def __init__(self):
@@ -126,6 +129,7 @@ class RecordTimer(timer.Timer):
                        t.setAttribute("begin", str(timer.begin))
                        t.setAttribute("end", str(timer.end))
                        t.setAttribute("serviceref", str(timer.service_ref))
+                       t.setAttribute("repeated", str(timer.repeated))                 
                        #t.setAttribute("epgdata", timer.)
                        t.setAttribute("description", timer.description)
                        root_element.appendChild(t)
index 34d3056..7b9ec85 100644 (file)
@@ -42,6 +42,7 @@ class TimerEntry(Screen):
                        
                        # calculate default values
                        day = []
+                       weekday = 0
                        for x in range(0,7):
                                day.append(1)
                        if (self.timer.repeated != 0): # repeated
@@ -56,6 +57,7 @@ class TimerEntry(Screen):
                                        count = 0
                                        for x in range(0, 6):
                                                if (flags == 1): # weekly
+                                                       print "Set to weekday " + str(x)
                                                        weekday = x
                                                if (flags & 1 == 1): # set user-defined flags
                                                        day[x] = 0
@@ -80,7 +82,7 @@ class TimerEntry(Screen):
                        config.timerentry.enddate = configElement_nonSave("config.timerentry.enddate", configDateTime, self.timer.end, ("%d.%B %Y", 86400))
                        config.timerentry.endtime = configElement_nonSave("config.timerentry.endtime", configSequence, [int(strftime("%H", localtime(self.timer.end))), int(strftime("%M", localtime(self.timer.end)))], configsequencearg.get("CLOCK"))
 
-                       config.timerentry.weekday = configElement_nonSave("config.timerentry.weekday", configSelection, 0, ("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"))
+                       config.timerentry.weekday = configElement_nonSave("config.timerentry.weekday", configSelection, weekday, ("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"))
 
                        config.timerentry.day = []
                        for x in range(0,7):
@@ -178,6 +180,8 @@ class TimerEntry(Screen):
                return int(mktime(dt.timetuple()))
 
        def keyGo(self):
+               self.timer.resetRepeated()
+               
                if (config.timerentry.type.value == 0): # once
                        self.timer.begin = self.getTimestamp(config.timerentry.startdate.value, config.timerentry.starttime.value)
                        self.timer.end = self.getTimestamp(config.timerentry.enddate.value, config.timerentry.endtime.value)
index 53ce8c4..6c174c8 100644 (file)
--- a/timer.py
+++ b/timer.py
@@ -18,6 +18,9 @@ class TimerEntry:
                self.prepare_time = 10
                self.end = end
                self.state = 0
+               self.resetRepeated()
+               
+       def resetRepeated(self):
                self.repeated = int(0)
                
        def setRepeated(self, day):