mirror of
https://github.com/fHDHR/fHDHR_NextPVR.git
synced 2025-12-06 14:46:58 -05:00
Merge pull request #29 from deathbybandaid/dev
Implement Very Basic Webpage
This commit is contained in:
commit
547ce448f4
@ -1,7 +1,7 @@
|
|||||||
from gevent.pywsgi import WSGIServer
|
from gevent.pywsgi import WSGIServer
|
||||||
from flask import Flask, send_from_directory, request, abort, Response, stream_with_context
|
from flask import Flask, send_from_directory, request, abort, Response, stream_with_context
|
||||||
|
|
||||||
from . import fHDHRdevice
|
from . import fHDHRdevice, fHDHRpages
|
||||||
|
|
||||||
|
|
||||||
class HDHR_Hub():
|
class HDHR_Hub():
|
||||||
@ -12,6 +12,8 @@ class HDHR_Hub():
|
|||||||
def hubprep(self, settings, origserv, epghandling):
|
def hubprep(self, settings, origserv, epghandling):
|
||||||
self.config = settings
|
self.config = settings
|
||||||
|
|
||||||
|
self.index = fHDHRpages.Index_HTML(settings)
|
||||||
|
|
||||||
self.devicexml = fHDHRdevice.Device_XML(settings)
|
self.devicexml = fHDHRdevice.Device_XML(settings)
|
||||||
self.discoverjson = fHDHRdevice.Discover_JSON(settings)
|
self.discoverjson = fHDHRdevice.Discover_JSON(settings)
|
||||||
self.lineupxml = fHDHRdevice.Lineup_XML(settings, origserv)
|
self.lineupxml = fHDHRdevice.Lineup_XML(settings, origserv)
|
||||||
@ -75,6 +77,9 @@ class HDHR_Hub():
|
|||||||
def get_stream(self, stream_args):
|
def get_stream(self, stream_args):
|
||||||
return self.watch.get_stream(stream_args)
|
return self.watch.get_stream(stream_args)
|
||||||
|
|
||||||
|
def get_index_html(self, base_url):
|
||||||
|
return self.index.get_index_html(base_url)
|
||||||
|
|
||||||
|
|
||||||
hdhr = HDHR_Hub()
|
hdhr = HDHR_Hub()
|
||||||
|
|
||||||
@ -84,7 +89,8 @@ class HDHR_HTTP_Server():
|
|||||||
|
|
||||||
@app.route('/')
|
@app.route('/')
|
||||||
def root_path():
|
def root_path():
|
||||||
return hdhr.config.dict["fhdhr"]["friendlyname"]
|
base_url = request.headers["host"]
|
||||||
|
return hdhr.get_index_html(base_url)
|
||||||
|
|
||||||
@app.route('/favicon.ico', methods=['GET'])
|
@app.route('/favicon.ico', methods=['GET'])
|
||||||
def favicon():
|
def favicon():
|
||||||
|
|||||||
2
fHDHR/fHDHRweb/fHDHRpages/__init__.py
Normal file
2
fHDHR/fHDHRweb/fHDHRpages/__init__.py
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# pylama:ignore=W0611
|
||||||
|
from .index_html import Index_HTML
|
||||||
52
fHDHR/fHDHRweb/fHDHRpages/index_html.py
Normal file
52
fHDHR/fHDHRweb/fHDHRpages/index_html.py
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
from io import StringIO
|
||||||
|
|
||||||
|
|
||||||
|
class Index_HTML():
|
||||||
|
|
||||||
|
def __init__(self, settings):
|
||||||
|
self.config = settings
|
||||||
|
self.index_html = None
|
||||||
|
|
||||||
|
def get_index_html(self, base_url, force_update=False):
|
||||||
|
if not self.index_html or force_update:
|
||||||
|
|
||||||
|
friendlyname = self.config.dict["fhdhr"]["friendlyname"]
|
||||||
|
|
||||||
|
fakefile = StringIO()
|
||||||
|
|
||||||
|
fakefile.write("<!DOCTYPE html>\n")
|
||||||
|
fakefile.write("<html>\n")
|
||||||
|
|
||||||
|
fakefile.write("<head>\n")
|
||||||
|
fakefile.write("<title>%s</title>\n" % friendlyname)
|
||||||
|
fakefile.write("<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n")
|
||||||
|
fakefile.write("</head>\n")
|
||||||
|
|
||||||
|
fakefile.write("<h2 id=\"mcetoc_1cdobsl3g0\" style=\"text-align: center;\"><span style=\"text-decoration: underline;\"><strong><em>%s</em></strong></span></h2>\n" % friendlyname)
|
||||||
|
|
||||||
|
# a list of 2 part lists containing button information
|
||||||
|
button_list = [
|
||||||
|
["xmltv", "xmltv.xml"],
|
||||||
|
["m3u", "channels.m3u"],
|
||||||
|
["debug", "debug.json"]
|
||||||
|
]
|
||||||
|
|
||||||
|
for button_item in button_list:
|
||||||
|
button_label = button_item[0]
|
||||||
|
button_path = button_item[1]
|
||||||
|
fakefile.write("<div style=\"text-align: center;\">\n")
|
||||||
|
fakefile.write(" <p><button onclick=\"OpenLink('%s')\">%s</a></button></p>\n" % (button_path, button_label))
|
||||||
|
fakefile.write("</div>\n")
|
||||||
|
|
||||||
|
fakefile.write("</html>\n")
|
||||||
|
fakefile.write("\n")
|
||||||
|
|
||||||
|
fakefile.write("<script>\n")
|
||||||
|
fakefile.write("function OpenLink(NewURL) {\n")
|
||||||
|
fakefile.write(" window.open(NewURL, \"_self\");\n")
|
||||||
|
fakefile.write("}\n")
|
||||||
|
fakefile.write("</script>")
|
||||||
|
|
||||||
|
self.index_html = fakefile.getvalue()
|
||||||
|
|
||||||
|
return self.index_html
|
||||||
Loading…
Reference in New Issue
Block a user