Message Answer now reaches webinterface
authorJulian Dittrich <jjbig@users.schwerkraft.elitedvb.net>
Wed, 4 Jul 2007 14:39:25 +0000 (14:39 +0000)
committerJulian Dittrich <jjbig@users.schwerkraft.elitedvb.net>
Wed, 4 Jul 2007 14:39:25 +0000 (14:39 +0000)
webinterface/src/plugin.py
webinterface/src/web-data/config.js
webinterface/src/web-data/templates.js
webinterface/src/web-data/tools.js
webinterface/src/web/messageanswer.xml [new file with mode: 0644]
webinterface/src/web/powerstate.xml
webinterface/src/webif.py

index 96a18ff..e13c53e 100644 (file)
@@ -40,13 +40,18 @@ DEBUGFILE= "/tmp/twisted.log"
 
 def stopWebserver():
        reactor.disconnectAll()
+       del session.mediaplayer
+       #del session.messageboxanswer
 
 def restartWebserver(session):
        stopWebserver()
        startWebserver(session)
 
 def startWebserver(session):
+       # variables, that are needed in the process
        session.mediaplayer = None
+       #session.messageboxanswer = None
+       
        if config.plugins.Webinterface.enable.value is not True:
                print "not starting Werbinterface"
                return False
index f44a1be..ca422cd 100644 (file)
@@ -41,6 +41,7 @@ var url_timerdelete= "/web/timerdelete"; // plus serviceref,bedin,end
 var url_timerlistwrite="/web/timerlistwrite?write=saveWriteNow";
 
 var url_message = "/web/message"; // plus text,type,timeout
+var url_messageanswer = "/web/messageanswer?getanswer=now"; 
 
 var url_powerstate = "/web/powerstate"; // plus new powerstate
 var url_remotecontrol = "/web/remotecontrol"; // plus command
index 280f5c0..c808e74 100644 (file)
@@ -215,6 +215,7 @@ var tplPowerStateSendForm  = '<table cellspacing="0" cellpadding="0" class="abou
        tplPowerStateSendForm += '<tr><td>\n';
        tplPowerStateSendForm += '<table style="width: 100%; text-align: center">\n';
        tplPowerStateSendForm += '<tr><td><center><button onclick="sendRemoteControlRequest(116)">Toggle Standby</button></center></td></tr>\n';
+       tplPowerStateSendForm += '<tr><td><center><button onclick="sendPowerState(0)">Standby</button></center></td></tr>\n';
     tplPowerStateSendForm += '<tr><td><center><button onclick="sendPowerState(1)">Deepstandby</button></center></td></tr>\n';
     tplPowerStateSendForm += '<tr><td><center><button onclick="sendPowerState(2)">Reboot</button></center></td></tr>\n';
        tplPowerStateSendForm += '<tr><td><center><button onclick="sendPowerState(3)">Restart Enigma2</button></center></td></tr>\n';
@@ -264,8 +265,7 @@ var tplRemoteControlForm = '<center><input type="checkbox" id="getScreen" name="
     tplRemoteControlForm += '</map>';
        tplRemoteControlForm += '<img src="/webdata/gfx/remotecontrol.jpg" height="607" width="220" border="0)" alt="Remote Control" usemap="#remotecontrol">';
        
-var tplAddTimerForm = '';
-       tplAddTimerForm += '<table border=0 cellpadding=0 cellspacing=10>';
+var tplAddTimerForm  = '<table border=0 cellpadding=0 cellspacing=10>';
        tplAddTimerForm += '<tr><td colspan="3">Action:</td>';
        tplAddTimerForm += '<td colspan="3">';
        tplAddTimerForm += '<select name="justplay" id="justplay" size="1">';
@@ -307,11 +307,9 @@ var tplAddTimerForm = '';
        tplAddTimerForm += '<input name="eventID" id="eventID" type="hidden" value="%(eventID)">';
        tplAddTimerForm +=      '<button onclick="sendAddTimer()">Add/Save</button></td></tr></table>';
 
-var tplAddTimerFormOptions = '';
-       tplAddTimerFormOptions += '<option value="%(value)" %(selected)>%(txt)</option>';
+var tplAddTimerFormOptions = '<option value="%(value)" %(selected)>%(txt)</option>';
        
-var tplAddTimerFormCheckbox = '';
-       tplAddTimerFormCheckbox += '<input type="checkbox" id="%(id)" name="%(name)" value="%(value)" %(checked)>&nbsp;%(txt)&nbsp;&nbsp;';
+var tplAddTimerFormCheckbox = '<input type="checkbox" id="%(id)" name="%(name)" value="%(value)" %(checked)>&nbsp;%(txt)&nbsp;&nbsp;';
 
 var tplAbout  = '<table cellspacing="0" cellpadding="0" class="aboutSection">\n';
        tplAbout += '<tr>\n';
index 71adf24..b3f235c 100644 (file)
@@ -636,6 +636,7 @@ function incomingDelMovieFileResult(request) {
 function showMessageSendForm(){
                $('BodyContent').innerHTML = tplMessageSendForm;
 }
+var MessageAnswerPolling;
 function sendMessage(messagetext,messagetype,messagetimeout){
        if(!messagetext){
                messagetext = $('MessageSendFormText').value;
@@ -647,7 +648,12 @@ function sendMessage(messagetext,messagetype,messagetimeout){
                var index = $('MessageSendFormType').selectedIndex;
                messagetype = $('MessageSendFormType').options[index].value;
        }       
-       doRequest(url_message+'?text='+messagetext+'&type='+messagetype+'&timeout='+messagetimeout, incomingMessageResult, false);
+       if(ownLazyNumber(messagetype) == 0){
+               new Ajax.Request(url_message+'?text='+messagetext+'&type='+messagetype+'&timeout='+messagetimeout, { asynchronous: true, method: 'get' });
+               MessageAnswerPolling = setInterval(getMessageAnswer, ownLazyNumber(messagetimeout)*1000);
+       } else {
+               doRequest(url_message+'?text='+messagetext+'&type='+messagetype+'&timeout='+messagetimeout, incomingMessageResult, false);
+       }
 }
 function incomingMessageResult(request){
 
@@ -656,33 +662,16 @@ function incomingMessageResult(request){
                var result = b.item(0).getElementsByTagName('e2result').item(0).firstChild.data;
                var resulttext = b.item(0).getElementsByTagName('e2resulttext').item(0).firstChild.data;
                if (result=="True"){
-                       messageBox('message send','message send successfully! it appears on TV-Screen');
+                       messageBox('message send',resulttext);//'message send successfully! it appears on TV-Screen');
                }else{
                        messageBox('message send failed',resulttext);
                }
        }               
 }
-
-// PowerState Code
-function showPowerStateSendForm(){
-               $('BodyContent').innerHTML = tplPowerStateSendForm;
-}
-function sendPowerState(newState){
-       doRequest(url_powerstate+'?newstate='+newState, incomingPowerStateResult, false);
-}
-function incomingPowerStateResult(request){
-       debug(request.readyState);
-       if(request.readyState == 4){
-               var b = getXML(request).getElementsByTagName("e2powerstate");
-               var result = b.item(0).getElementsByTagName('e2result').item(0).firstChild.data;
-               var resulttext = b.item(0).getElementsByTagName('e2resulttext').item(0).firstChild.data;
-               var tplPowerStateSendForm2 = '<h1>PowerState is changing to:'+resulttext+ '</h1>' + tplPowerStateSendForm;
-               $('BodyContent').innerHTML = tplPowerStateSendForm2;
-       } else {
-               $('BodyContent').innerHTML = "<h1>some unknown error</h1>" + tplPasswordSendForm;
-       }
+function getMessageAnswer() {
+       doRequest(url_messageanswer, incomingMessageResult, false);
+       clearInterval(MessageAnswerPolling);
 }
-
 // RemoteControl Code
 function showRemoteControllSendForm(){
        if(! $('rcWindow')){
@@ -1076,24 +1065,24 @@ function incomingMediaPlayer(request){
                }
                listerHtml += tplMediaPlayerFooter;
                $('BodyContent').innerHTML = listerHtml;
+               var sendMediaPlayerTMP = sendMediaPlayer;
                sendMediaPlayer = false;
                setBodyMainContent('BodyContent');
-               sendMediaPlayer = true;
+               sendMediaPlayer = sendMediaPlayerTMP;
        }               
 }
 function playFile(file,root) {
        debug("loading playFile");
        mediaPlayerStarted = true;
-       new Ajax.Request( url_mediaplayerplay+file+"&root="+root, 
-                                                       {
-                                                               asynchronous: true,
-                                                               method: 'get'
-                                                       }
-                                               );
+       new Ajax.Request( url_mediaplayerplay+file+"&root="+root, { asynchronous: true, method: 'get' });
 }
 function sendMediaPlayer(command) {
        debug("loading sendMediaPlayer");
-       new Ajax.Request( url_mediaplayercmd+command, {
-                                                               asynchronous: true,
-                                                               method: 'get' });
-}
\ No newline at end of file
+       new Ajax.Request( url_mediaplayercmd+command, { asynchronous: true, method: 'get' });
+}
+function showPowerStateSendForm(){
+               $('BodyContent').innerHTML = tplPowerStateSendForm;
+}
+function sendPowerState(newState){
+       new Ajax.Request( url_powerstate+'?newstate='+newState, { asynchronous: true, method: 'get' });
+}
diff --git a/webinterface/src/web/messageanswer.xml b/webinterface/src/web/messageanswer.xml
new file mode 100644 (file)
index 0000000..32891e5
--- /dev/null
@@ -0,0 +1,8 @@
+<e2:screen name="MessageWebScreen">&lt;?xml version="1.0" encoding="UTF-8"?>
+&lt;e2message>
+       <e2:element source="GetAnswer" id="getanswer"><e2:convert type="web:ListFiller" >
+       &lt;e2result><e2:item name="Result" filter="xml"/>&lt;/e2result>
+       &lt;e2resulttext><e2:item name="ResultText" filter="xml"/>&lt;/e2resulttext>
+       </e2:convert><e2:convert type="web:TextToHTML" /></e2:element>
+&lt;/e2message>
+</e2:screen>
\ No newline at end of file
index a83ae4f..8cf49d4 100644 (file)
@@ -1,8 +1,5 @@
-<e2:screen name="PowerWebScreen">&lt;?xml version="1.0" encoding="UTF-8"?>
-&lt;e2powerstate>
-       <e2:element source="PowerState" id="newstate"><e2:convert type="web:ListFiller" >
-       &lt;e2result><e2:item name="Result" filter="xml"/>&lt;/e2result>
-       &lt;e2resulttext><e2:item name="ResultText" filter="xml"/>&lt;/e2resulttext>
-       </e2:convert><e2:convert type="web:TextToHTML" /></e2:element>
-&lt;/e2message>
+<e2:screen name="PowerWebScreen">
+       <e2:element source="PowerState" id="newstate">
+               <e2:convert type="web:ReturnEmptyXML" />
+       </e2:element>
 </e2:screen>
\ No newline at end of file
index be8f9dc..9d257d7 100644 (file)
@@ -79,7 +79,8 @@ class UpdateWebScreen(InfoBarServiceName, InfoBarEvent,InfoBarTuner,WebScreen):
 class MessageWebScreen(WebScreen):
        def __init__(self, session,request):
                WebScreen.__init__(self, session,request)
-               self["Message"] = Message(session)
+               self["Message"] = Message(session,func = Message.PRINT)
+               self["GetAnswer"] = Message(session,func = Message.ANSWER)
 
 class AudioWebScreen(WebScreen):
        def __init__(self, session,request):