add extended description of timers
[enigma2-plugins.git] / webinterface / src / WebComponents / Sources / Message.py
1 from enigma import *
2 from Components.Sources.Source import Source
3 from Screens.MessageBox import MessageBox
4
5 class Message( Source):
6         
7     def __init__(self,session):
8         self.cmd = []
9         self.session = session
10         Source.__init__(self)
11
12     def handleCommand(self, cmd):
13         self.cmd = cmd
14         
15     def do_func(self):
16         list = []
17         
18         if self.cmd['text'] == "" or self.cmd['text'] is None:
19             return [[False,"no text for message"]]
20         else:
21             mtext = self.cmd['text']
22
23         try:
24             typeint = int(self.cmd['type'])
25         except ValueError,e:
26             return [[False,"type %s is not a number"%self.cmd['type']]]   
27             
28         if typeint == MessageBox.TYPE_YESNO:
29             #dont know how to give the result to the webif back 
30             mtype= MessageBox.TYPE_YESNO
31         elif typeint == MessageBox.TYPE_INFO:
32             mtype= MessageBox.TYPE_INFO
33         elif typeint == MessageBox.TYPE_WARNING:
34             mtype= MessageBox.TYPE_WARNING
35         elif typeint == MessageBox.TYPE_ERROR:
36             mtype= MessageBox.TYPE_ERROR
37         else:
38             return [[False,"unsupported type %s"%self.cmd['type']]]   
39         
40         try:
41             mtimeout = int(self.cmd['timeout'])
42         except ValueError,e:
43             mtimeout = -1   
44         
45         self.session.open(MessageBox, mtext, type = mtype ,timeout = mtimeout)
46         
47         return [[True,"Message send to screen"]]
48     
49     list = property(do_func)
50     lut = {"Result": 0
51            ,"ResultText": 1
52            }
53