Hello,
It seems that next da Vinci will propose a web interface (not very sure , must be confimed).
Since today, enigma2 team begins the developpement of web interface .. so just be a little patient:
Message: 6
Date: Fri, 14 Jul 2006 18:56:31 +0200
From: "CVS User tmbinc" <enigma2-cvs@lists.elitedvb.net>
Subject: [enigma2-cvs] CVS
enigma2/lib/python/Plugins/Extensions/WebInterface
To:
enigma2-cvs@lists.elitedvb.net
Message-ID: <20060714165630.427051C800A@mail.multimedia-labs.de>
Update of /cvs/enigma2/lib/python/Plugins/Extensions/WebInterface
In directory pepe:/tmp/cvs-serv28381/lib/python/Plugins/Extensions/WebInterface
Modified Files:
plugin.py Makefile.am
Added Files:
webif.py test.xml
Log Message:
add proof-of-concept web interface
--- /cvs/enigma2/lib/python/Plugins/Extensions/WebInterface/plugin.py 2006/03/05 21:43:49 1.2
+++ /cvs/enigma2/lib/python/Plugins/Extensions/WebInterface/plugin.py 2006/07/14 16:56:31 1.3
@@ -1,14 +1,41 @@
from Plugins.Plugin import PluginDescriptor
+sessions = [ ]
+
def startWebserver():
from twisted.internet import reactor
- from twisted.web2 import server, http, static
- toplevel = static.File("/hdd")
- site = server.Site(toplevel)
+ from twisted.web2 import server, http, static, resource, stream
+ import webif
+
+ class ScreenPage(resource.Resource):
+ def render(self, req):
+ global sessions
+ if sessions == [ ]:
+ return http.Response("please wait until enigma has booted")
+
+ s = stream.ProducerStream()
+ webif.renderPage(s, req, sessions[0]) # login?
+ return http.Response(stream=s)
+
+ class Toplevel(resource.Resource):
+ addSlash = True
+
+ def render(self, req):
+ return 'Hello! you want probably go to <a href="/test">the test</a> instead.'
+
+ child_test = ScreenPage() # "/test"
+ child_hdd = static.File("/hdd")
+
+ site = server.Site(Toplevel())
reactor.listenTCP(80, http.HTTPFactory(site))
def autostart(reason, **kwargs):
+ if "session" in kwargs:
+ global sessions
+ sessions.append(kwargs["session"])
+ return
+
if reason == 0:
try:
startWebserver()
@@ -16,4 +43,4 @@
print "twisted not available, not starting web services"
def Plugins(**kwargs):
- return PluginDescriptor(where = PluginDescriptor.WHERE_AUTOSTART, fnc = autostart)
+ return PluginDescriptor(where = [PluginDescriptor.WHERE_SESSIONSTART, PluginDescriptor.WHERE_AUTOSTART], fnc = autostart)
--- /cvs/enigma2/lib/python/Plugins/Extensions/WebInterface/Makefile.am 2006/02/22 23:30:34 1.3
+++ /cvs/enigma2/lib/python/Plugins/Extensions/WebInterface/Makefile.am 2006/07/14 16:56:31 1.4
@@ -2,6 +2,4 @@
install_PYTHON = \
__init__.py \
- plugin.py
-
-
\ No newline at end of file
+ plugin.py xmlrpc.py webif.py *.xml