5893749bb8e582616429fa57e9dd0102e7ff921e
[enigma2.git] / lib / python / Screens / TimerEntry.py
1 from Screen import Screen
2 from Components.config import *
3 from Components.ActionMap import NumberActionMap
4 from Components.ConfigList import ConfigList
5 from Components.NimManager import nimmanager
6 from Components.Label import Label
7 from time import *
8
9 class TimerEntry(Screen):
10     def __init__(self, session, timer):
11         Screen.__init__(self, session)
12         
13         self.createConfig(timer)
14         
15         self["actions"] = NumberActionMap(["SetupActions"],
16         {
17             "ok": self.keyGo,
18             "cancel": self.keyCancel,
19             "left": self.keyLeft,
20             "right": self.keyRight,
21             "1": self.keyNumberGlobal,
22             "2": self.keyNumberGlobal,
23             "3": self.keyNumberGlobal,
24             "4": self.keyNumberGlobal,
25             "5": self.keyNumberGlobal,
26             "6": self.keyNumberGlobal,
27             "7": self.keyNumberGlobal,
28             "8": self.keyNumberGlobal,
29             "9": self.keyNumberGlobal,
30             "0": self.keyNumberGlobal
31         }, -1)
32                 
33         self.list = []
34         self["config"] = ConfigList(self.list)
35         self.createSetup()
36
37         self["introduction"] = Label("Press OK to start the scan")
38
39     def createConfig(self, timer):
40             config.timerentry = ConfigSubsection()
41
42             config.timerentry.startdate = configElement_nonSave("config.timerentry.startdate", configDateTime, timer.begin, ("%d.%B %Y", 86400))
43             config.timerentry.starttime = configElement_nonSave("config.timerentry.starttime", configDateTime, timer.begin, ("%H:%M", 60))
44             config.timerentry.enddate = configElement_nonSave("config.timerentry.enddate", configDateTime, timer.end, ("%d.%B %Y", 86400))
45             config.timerentry.endtime = configElement_nonSave("config.timerentry.endtime", configDateTime, timer.end, ("%H:%M", 60))            
46             #config.timerentry.weekday = configElement_nonSave("config.timerentry.weekday", configDateTime, time(), ("%A", 86400))
47
48     def createSetup(self):
49         self.list = []
50         
51         self.list.append(getConfigListEntry("StartDate", config.timerentry.startdate))
52         self.list.append(getConfigListEntry("StartTime", config.timerentry.starttime))
53         self.list.append(getConfigListEntry("EndDate", config.timerentry.enddate))
54         self.list.append(getConfigListEntry("EndTime", config.timerentry.endtime))
55 #        self.list.append(getConfigListEntry("Weekday", config.timerentry.weekday))
56         
57         self["config"].list = self.list
58         self["config"].l.setList(self.list)
59         
60     def newConfig(self):
61         print self["config"].getCurrent()
62         if self["config"].getCurrent()[0] == "Type of scan":
63             self.createSetup()
64         if self["config"].getCurrent()[0] == "Tuner":
65             self.createSetup()
66                     
67     def keyLeft(self):
68         self["config"].handleKey(config.key["prevElement"])
69         self.newConfig()
70
71     def keyRight(self):
72         self["config"].handleKey(config.key["nextElement"])
73         self.newConfig()
74
75     def keyNumberGlobal(self, number):
76         print "You pressed number " + str(number)
77         if (self["config"].getCurrent()[1].parent.enabled == True):
78             self["config"].handleKey(config.key[str(number)])
79
80     def keyGo(self):
81         for x in self["config"].list:
82             x[1].save()
83         self.session.openWithCallback(self.keyCancel, ServiceScan)        
84
85         #self.close()
86
87     def keyCancel(self):
88         for x in self["config"].list:
89             x[1].cancel()
90         self.close()