from GUIComponent import *
from Tools.FuzzyDate import FuzzyTime
+import time
from enigma import eListboxPythonMultiContent, eListbox, gFont
-
+from timer import TimerEntry
RT_HALIGN_LEFT = 0
RT_HALIGN_RIGHT = 1
#
# | <Service> <Name of the Timer> |
-# | <start> <end> |
+# | <start, end> <state> |
#
def TimerEntryComponent(timer, processed):
res = [ timer ]
-
res.append((0, 0, 400, 30, 0, RT_HALIGN_LEFT, timer.service_ref.getServiceName()))
- res.append((0, 30, 200, 20, 1, RT_HALIGN_LEFT, "%s, %s" % FuzzyTime(timer.begin)))
+ repeatedtext = ""
+ days = [ "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun" ]
+ if (timer.repeated != 0):
+ flags = timer.repeated
+ count = 0
+ for x in range(0, 7):
+ if (flags & 1 == 1):
+ if (count != 0):
+ repeatedtext += ", "
+ repeatedtext += days[x]
+ count += 1
+ flags = flags >> 1
+ res.append((0, 30, 200, 20, 1, RT_HALIGN_LEFT, repeatedtext + (" %s ... %s" % (FuzzyTime(timer.begin)[1], FuzzyTime(timer.end)[1]))))
+ else:
+ res.append((0, 30, 200, 20, 1, RT_HALIGN_LEFT, repeatedtext + ("%s, %s ... %s" % (FuzzyTime(timer.begin) + FuzzyTime(timer.end)[1:]))))
- res.append((200, 0, 200, 20, 1, RT_HALIGN_RIGHT, timer.description))
- if processed:
- res.append((200, 30, 200, 20, 1, RT_HALIGN_RIGHT, FuzzyTime(timer.end)[1]))
+ res.append((300, 0, 200, 20, 1, RT_HALIGN_RIGHT, timer.name))
+
+ if not processed:
+ if timer.state == TimerEntry.StateWait:
+ state = "waiting"
+ elif timer.state == TimerEntry.StatePrepare:
+ state = "about to start"
+ elif timer.state == TimerEntry.StateRunning:
+ state = "recording..."
+ else:
+ state = "<unknown>"
else:
- res.append((200, 30, 200, 20, 1, RT_HALIGN_RIGHT, "done"))
+ state = "done!"
+
+ res.append((300, 30, 200, 20, 1, RT_HALIGN_RIGHT, state))
+
return res
class TimerList(HTMLComponent, GUIComponent):
self.instance.setContent(None)
self.instance = None
+ def invalidate(self):
+ self.l.invalidate()