Update to Version 0.4: More plasma- friendly timer.
[enigma2-plugins.git] / kiddytimer / src / plugin.py
1 from Components.ActionMap import ActionMap, NumberActionMap
2 from Components.config import config, ConfigInteger, ConfigSubsection, ConfigSelection, \
3     ConfigSubList, ConfigText, ConfigYesNo, ConfigDateTime, ConfigClock, ConfigPIN
4 from KTmain import KiddyTimer
5 from KTsetup import KiddyTimerSetup
6 from Plugins.Plugin import PluginDescriptor
7 from Screens.MessageBox import MessageBox
8 from __init__ import _
9 import KTglob
10 import time
11
12 config.plugins.KiddyTimer = ConfigSubsection()
13 config.plugins.KiddyTimer.enabled = ConfigYesNo(default=False)
14 config.plugins.KiddyTimer.position_x = ConfigInteger(default=590)
15 config.plugins.KiddyTimer.position_y = ConfigInteger(default=35)
16 config.plugins.KiddyTimer.timerStyle = ConfigSelection(choices = [("clock", _("Clock")), ("smiley", _("Smiley"))])
17 config.plugins.KiddyTimer.lastStartDay = ConfigText(default="")
18 config.plugins.KiddyTimer.monitorEndTime = ConfigClock(default=KTglob.EIGHTOCLOCKNOON)
19 config.plugins.KiddyTimer.pin = ConfigPIN(default = 1111 , censor = "*")
20 config.plugins.KiddyTimer.remainingTime = ConfigInteger(default=int(KTglob.ONEHOUR), limits = (0,86400) )
21
22 config.plugins.KiddyTimer.dayTimes = ConfigSubList()
23 for i in range(0, 7):
24     s = ConfigSubsection()
25     s.timeValue = ConfigClock(default=KTglob.ONEOCLOCK)
26     config.plugins.KiddyTimer.dayTimes.append(s)
27     del s
28
29 # Assign global variable oKiddyTimer
30 KTglob.oKiddyTimer = KiddyTimer()
31
32 def setup(session, **kwargs):
33     session.open(KiddyTimerSetup)
34
35 def sessionstart(reason, **kwargs):
36     if reason == 0:
37         KTglob.oKiddyTimer.gotSession(kwargs["session"])
38
39 def autostart(reason, **kwargs):
40     if reason == 1:
41         KTglob.oKiddyTimer.stopMe()
42         KTglob.oKiddyTimer = None
43         
44 def Plugins(path,**kwargs):
45     # Assign global variable plugin_path
46     KTglob.plugin_path = path
47     return [
48             PluginDescriptor(where=PluginDescriptor.WHERE_SESSIONSTART, fnc=sessionstart),
49             PluginDescriptor(where=PluginDescriptor.WHERE_AUTOSTART, fnc=autostart),
50             PluginDescriptor(name=_("KiddyTimer"), description=_("Allows to controls your kids' daily TV usage"), icon = "KiddyTimer.png", where = PluginDescriptor.WHERE_PLUGINMENU, fnc=setup)]
51