add favicon
This commit is contained in:
		@@ -229,6 +229,7 @@ script_file = None
 | 
			
		||||
videojs_version = None
 | 
			
		||||
font_awesome_version = None
 | 
			
		||||
custom_style = None
 | 
			
		||||
favicon = None
 | 
			
		||||
try:
 | 
			
		||||
    with open("/app/index.html", "r") as f:
 | 
			
		||||
        template_html = tornado.template.Template(f.read().strip())
 | 
			
		||||
@@ -242,6 +243,8 @@ try:
 | 
			
		||||
        chromecast_version = f.read().strip()
 | 
			
		||||
    with open("/app/version/font-awesome.txt", "r") as f:
 | 
			
		||||
        font_awesome_version = f.read().strip()
 | 
			
		||||
    with open("/app/favicon.png", "rb") as f:
 | 
			
		||||
        favicon = f.read()
 | 
			
		||||
    with open("/app/style.css", "r") as f:
 | 
			
		||||
        custom_style_raw = bytes(f.read().strip(), "utf-8")
 | 
			
		||||
        b64 = str(base64.b64encode(custom_style_raw), "ascii")
 | 
			
		||||
@@ -319,27 +322,18 @@ class MainHandler(tornado.web.RequestHandler):
 | 
			
		||||
        if script_file is not None and template_html is not None:
 | 
			
		||||
            meta = await handler.meta()
 | 
			
		||||
            title = handler.render_url
 | 
			
		||||
            video_creator = None
 | 
			
		||||
            video_title = None
 | 
			
		||||
            for elem in meta:
 | 
			
		||||
                if isinstance(elem[1], str):
 | 
			
		||||
                    if elem[0] == "og:title":
 | 
			
		||||
                        video_title = elem[1]
 | 
			
		||||
                    elif elem[0] == "og:description":
 | 
			
		||||
                        video_creator = elem[1]
 | 
			
		||||
 | 
			
		||||
            if isinstance(video_creator, str) and isinstance(video_title, str):
 | 
			
		||||
                title = f'{video_creator}: {video_title}'
 | 
			
		||||
            elif isinstance(video_creator, str):
 | 
			
		||||
                title = video_creator
 | 
			
		||||
            elif isinstance(video_title, str):
 | 
			
		||||
                title = video_title
 | 
			
		||||
            data["script"] = script_file
 | 
			
		||||
            data["videojs_version"] = videojs_version
 | 
			
		||||
            data["chromecast_version"] = chromecast_version
 | 
			
		||||
            data["font_awesome_version"] = font_awesome_version
 | 
			
		||||
            data["custom_style"] = custom_style
 | 
			
		||||
            rendered_html = template_html.generate(data=data, meta=meta)
 | 
			
		||||
            rendered_html = template_html.generate(data=data, meta=meta, title=video_title)
 | 
			
		||||
            self.write(rendered_html)
 | 
			
		||||
        else:
 | 
			
		||||
            self.set_status(404)
 | 
			
		||||
@@ -377,11 +371,10 @@ class FileHandler(tornado.web.RequestHandler):
 | 
			
		||||
    def get(self):
 | 
			
		||||
        self.set_header("Content-Type", "text/plain; charset=utf-8")
 | 
			
		||||
        self.write(playlist)
 | 
			
		||||
 | 
			
		||||
class IconHandler(tornado.web.RequestHandler):
 | 
			
		||||
    def get(self):
 | 
			
		||||
        self.set_header("Content-Type", "text/plain; charset=utf-8")
 | 
			
		||||
        self.set_status(204)
 | 
			
		||||
        self.set_header("Content-Type", "image/png")
 | 
			
		||||
        self.write(favicon)
 | 
			
		||||
try:
 | 
			
		||||
    handlers = []
 | 
			
		||||
    handlers.append((tornado.routing.PathMatches("/sources.m3u8"), FileHandler))
 | 
			
		||||
 
 | 
			
		||||
@@ -91,7 +91,7 @@ async def get_any(upstream, proxy, logger):
 | 
			
		||||
    tasks.append(asyncio.create_task(get_streamlink(upstream, proxy, logger)))
 | 
			
		||||
    tasks.append(asyncio.create_task(get_ytdl(upstream, proxy, logger)))
 | 
			
		||||
    result = None
 | 
			
		||||
    for task in asyncio.as_completed(tasks, timeout=2.0):
 | 
			
		||||
    for task in asyncio.as_completed(tasks, timeout=5.0):
 | 
			
		||||
        result = await task
 | 
			
		||||
        if isinstance(result, str):
 | 
			
		||||
            break
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user