import os from aiohttp import web from aiohttp.http_exceptions import BadStatusLine #--------------------------Local Import -----------------------------# from ..Functions.downloader import media_streamer from .render_template import render_page, render_upload from FileStream.Exceptions import FileNotFound, InvalidHash #------------------------------Functions------------------------------# tasks = [] #@sub_app.get("/watch/{path}", allow_head=True) async def stream_handler(request: web.Request): try: path = request.match_info["path"] return web.Response(text=await render_page(path), content_type='text/html') except InvalidHash as e: raise web.HTTPForbidden(text=e.message) except FileNotFound as e: raise web.HTTPNotFound(text=e.message) except (AttributeError, BadStatusLine, ConnectionResetError): pass #@sub_app.get("/up", allow_head=True) async def upload_handler(request: web.Request): # global faster_client,index,session, new_file_id await asyncio.gather(*tasks) try: return web.Response(text=await render_upload(), content_type='text/html') except InvalidHash as e: raise web.HTTPForbidden(text=e.message) except FIleNotFound as e: raise web.HTTPNotFound(text=e.message) except (AttributeError, BadStatusLine, ConnectionResetError): pass