瀏覽代碼

use starlette route for component files

Falko Schindler 3 年之前
父節點
當前提交
cb74d28503
共有 1 個文件被更改,包括 4 次插入7 次删除
  1. 4 7
      nicegui/nicegui.py

+ 4 - 7
nicegui/nicegui.py

@@ -3,18 +3,13 @@ from typing import Awaitable, Callable
 import asyncio
 import binding
 from pygments.formatters import HtmlFormatter
+from starlette.routing import Route
+from starlette.responses import FileResponse
 from .ui import Ui  # NOTE: before justpy
 import justpy as jp
 from .elements.element import Element
 from .timer import Timer
 
-@jp.SetRoute('/file')
-def get_file(request):
-    wp = jp.WebPage()
-    with open(request.query_params.get('path')) as f:
-        wp.html = f.read()
-    return wp
-
 wp = jp.QuasarPage(delete_flag=False, title=Ui.config.title, favicon=Ui.config.favicon)
 wp.tailwind = True  # use Tailwind classes instead of Quasars
 wp.css = HtmlFormatter().get_style_defs('.codehilite')
@@ -53,4 +48,6 @@ Element.wp = wp
 Element.view_stack = [main]
 
 app = jp.app
+app.routes.insert(0, Route('/file', lambda r: FileResponse(r.query_params['path'])))
+
 ui = Ui()