fix typo
[enigma2.git] / RecordTimer.py
index 9f78ff240981c1e08ea441a8dbf2e5fc9f38e2cd..a5df6725997a2ab67526785b5d642cbdc453d4e6 100644 (file)
@@ -10,6 +10,7 @@ import xml.dom.minidom
 from Screens.MessageBox import MessageBox
 from Screens.SubserviceSelection import SubserviceSelection
 import NavigationInstance
+from time import localtime
 
 from Tools.XMLTools import elementsWithTag, mergeText
 from ServiceReference import ServiceReference
@@ -238,7 +239,7 @@ class RecordTimer(timer.Timer):
                        self.record(createTimer(timer))
 
        def strToXML(self, str):
-               return str.replace('&', '&amp;').replace('<', '&lt;').replace('>', '&gt;').replace("'", '&apos;'). replace('"', '&qout;')
+               return str.replace('&', '&amp;').replace('<', '&lt;').replace('>', '&gt;').replace("'", '&apos;'). replace('"', '&quot;')
 
        def saveTimer(self):
                #doc = xml.dom.minidom.Document()
@@ -302,13 +303,13 @@ class RecordTimer(timer.Timer):
                        list.append(' disabled="' + str(int(timer.disabled)) + '"')
                        list.append('>\n')
                        
-                       for time, code, msg in timer.log_entries:
-                               list.append('<log')
-                               list.append(' code="' + str(code) + '"')
-                               list.append(' time="' + str(time) + '"')
-                               list.append('>')
-                               list.append(str(msg))
-                               list.append('</log>\n')
+                       #for time, code, msg in timer.log_entries:
+                               #list.append('<log')
+                               #list.append(' code="' + str(code) + '"')
+                               #list.append(' time="' + str(time) + '"')
+                               #list.append('>')
+                               #list.append(str(msg))
+                               #list.append('</log>\n')
 
                        
                        list.append('</timer>\n')
@@ -330,12 +331,20 @@ class RecordTimer(timer.Timer):
                time_match = 0
                for x in self.timer_list:
                        if str(x.service_ref) == str(service):
-                               if x.eit is not None and x.repeated == 0:
-                                       if x.eit == eventid:
-                                               return duration
-                               elif x.repeated != 0:
-                                       # TODO: implement!
-                                       pass
+                               #if x.eit is not None and x.repeated == 0:
+                               #       if x.eit == eventid:
+                               #               return duration
+                               if x.repeated != 0:
+                                       chktime = localtime(begin)
+                                       time = localtime(x.begin)
+                                       chktimecmp = chktime.tm_wday * 1440 + chktime.tm_hour * 60 + chktime.tm_min
+                                       for y in range(7):
+                                               if x.repeated & (2 ** y):
+                                                       timecmp = y * 1440 + time.tm_hour * 60 + time.tm_min
+                                                       if timecmp <= chktimecmp < (timecmp + ((x.end - x.begin) / 60)):
+                                                               time_match = ((timecmp + ((x.end - x.begin) / 60)) - chktimecmp) * 60
+                                                       elif chktimecmp <= timecmp < (chktimecmp + (duration / 60)):
+                                                               time_match = ((chktimecmp + (duration / 60)) - timecmp) * 60
                                elif x.eit is None:
                                        end = begin + duration
                                        if begin <= x.begin <= end: