Web Controller¶
Basic Controllers¶
-
class
controllers.root.
RootController
(session, path='')[source]¶ Web root controller.
-
P_index
(request)[source]¶ The “pages functions” must be called P_<pagename>.
Example
Contents for endpoint /index will be generated using a method named P_index.
Parameters: request (twisted.web.server.Request) – HTTP request object Returns: Parameter values Return type: dict
-
-
class
controllers.base.
BaseController
(path='', **kwargs)[source]¶ Basic HTTP requests controller.
-
__init__
(path='', **kwargs)[source]¶ Constructor
Parameters: - path (basestring) – Base path
- session – enigma2 Session instance
-
loadTemplate
(template_trunk_relpath, module, args)[source]¶ Try to generate template contents by trying to load optimised bytecode, python sourcefile and .tmpl file (in that order).
Parameters: - template_trunk_relpath (basestring) – template filename trunk
- module (basestring) – module name
- args (dict) – template parameters
Returns: template content
Return type:
-
-
controllers.base.
FOUR_O_FOUR
= '\n<html><head><title>Open Webif</title></head>\n<body><h1>Error 404: Page not found</h1><br/>\nThe requested URL was not found on this server.</body></html>\n'¶ HTTP 404 Not Found response content
-
controllers.base.
TEMPLATE_ALIASES
= {'web/epgbouquet': 'web/e2eventlist', 'web/epgmulti': 'web/e2eventlist', 'web/epgnext': 'web/e2eventlist', 'web/epgnow': 'web/e2eventlist', 'web/epgnownext': 'web/e2eventlist', 'web/epgsearch': 'web/e2eventlist', 'web/epgservice': 'web/e2eventlist', 'web/epgservicenext': 'web/e2eventlist', 'web/epgservicenow': 'web/e2eventlist', 'web/epgsimilar': 'web/e2eventlist', 'web/getservices': 'web/e2servicelist', 'web/gettags': 'web/e2tags', 'web/loadepg': 'web/e2simplexmlresult', 'web/mediaplayeradd': 'web/e2simplexmlresult', 'web/mediaplayercmd': 'web/e2simplexmlresult', 'web/mediaplayerload': 'web/e2simplexmlresult', 'web/mediaplayerplay': 'web/e2simplexmlresult', 'web/mediaplayerremove': 'web/e2simplexmlresult', 'web/mediaplayerwrite': 'web/e2simplexmlresult', 'web/message': 'web/e2simplexmlresult', 'web/messageanswer': 'web/e2simplexmlresult', 'web/moviedelete': 'web/e2simplexmlresult', 'web/moviemove': 'web/e2simplexmlresult', 'web/movierename': 'web/e2simplexmlresult', 'web/movietags': 'web/e2tags', 'web/parentcontrollist': 'web/e2servicelist', 'web/pluginlistread': 'web/e2simplexmlresult', 'web/recordnow': 'web/e2simplexmlresult', 'web/removelocation': 'web/e2simplexmlresult', 'web/saveepg': 'web/e2simplexmlresult', 'web/servicelistreload': 'web/e2simplexmlresult', 'web/streamsubservices': 'web/e2servicelist', 'web/subservices': 'web/e2servicelist', 'web/timeradd': 'web/e2simplexmlresult', 'web/timeraddbyeventid': 'web/e2simplexmlresult', 'web/timerchange': 'web/e2simplexmlresult', 'web/timercleanup': 'web/e2simplexmlresult', 'web/timerdelete': 'web/e2simplexmlresult', 'web/timerlistwrite': 'web/e2simplexmlresult', 'web/timertogglestatus': 'web/e2simplexmlresult', 'web/zap': 'web/e2simplexmlresult'}¶ template aliases
-
controllers.base.
TEMPLATE_E2_EVENT_LIST
= 'web/e2eventlist'¶ template for enigma2 event list
-
controllers.base.
TEMPLATE_E2_SERVICE_LIST
= 'web/e2servicelist'¶ template for enigma2 service list
-
controllers.base.
TEMPLATE_E2_SIMPLE_XML_RESULT
= 'web/e2simplexmlresult'¶ template for simple XML result
-
controllers.base.
TEMPLATE_E2_TAGS
= 'web/e2tags'¶ template for enigma2 tags
-
controllers.base.
error404
(request)[source]¶ HTTP 404 Not Found response.
Parameters: request (twisted.web.server.Request) – HTTP request object Returns: HTTP 404 Not Found response
OpenWebif Specific Controllers¶
-
class
controllers.fs_access.
RestrictedFilesystemAccessController
(*args, **kwargs)[source]¶ Filesystem Access Controller.
Provides file downloading and generates .m3u playlists on the fly for requested files.
Note
This implementation
- does not provide directory listing support
- Limits access to files contained in
RECORDINGS_ROOT_PATH
- Limits access to files contained in
FILE_ACCESS_WHITELIST
-
render_GET
(request)[source]¶ Request handler for the file endpoint.
Parameters: request (twisted.web.server.Request) – HTTP request object Returns: HTTP response with headers -
GET
/file
¶ Query Parameters: - action (string) – one of download [default], stream
- name (string) – m3u entry label
- be-lyle (string) – bouquet reference
-
Other Controllers¶
-
class
controllers.evil_proxy.
EvilProxyController
(*args, **kwargs)[source]¶ A rather evil controller - allows arbitrary execution of python code.
Warning
DANGER, WILL ROBINSON! Never ever allow unrestricted access to this endpoint!
-
render_POST
(request)[source]¶ Execute python code defined by request parameter uma.
Parameters: request (twisted.web.server.Request) – HTTP request object Returns: HTTP response with headers -
POST
/api/evil
¶ Query Parameters: - uma (string) – python code snippet to be executed
-
-