validate
This commit is contained in:
1 parent
d5f578cfd0
commit
30aa610653
4 files changed
+16
-7
No files matched your search
+2
-1
@@ -7,7 +7,8 @@ requires-python = ">=3.13"
|
||||
dependencies = [
|
||||
"fastapi",
|
||||
"flask",
|
||||
"pydantic",
|
||||
"python-multipart",
|
||||
"qrcode>=8.2",
|
||||
"qrcode",
|
||||
"uvicorn",
|
||||
]
|
||||
@@ -35,16 +35,16 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<details >
|
||||
<details>
|
||||
<summary>System Routes</summary>
|
||||
<div class="route-list">
|
||||
{% macro this(route) %}
|
||||
<div class="route-item">
|
||||
<a href="{{ url_for(route.name) }}">{{ route.name }}</a>
|
||||
<a href="{{ route.path }}">{{ route.name }}</a>
|
||||
<span>{{ route.path }}</span>
|
||||
</div>
|
||||
{% endmacro %} {% for route in routes if "GET" in route.methods %}
|
||||
{{ this(route) }} {% endfor %}
|
||||
{% endmacro %} {% for route in routes %} {{ this(route) }} {%
|
||||
endfor %}
|
||||
</div>
|
||||
</details>
|
||||
</body>
|
||||
|
||||
+8
-2
@@ -8,6 +8,7 @@ from fastapi import FastAPI, Form, Request
|
||||
from fastapi.responses import HTMLResponse, RedirectResponse
|
||||
from fastapi.staticfiles import StaticFiles
|
||||
from fastapi.templating import Jinja2Templates
|
||||
from pydantic import AnyHttpUrl
|
||||
|
||||
app = FastAPI()
|
||||
app.mount("/static", StaticFiles(directory="static"), name="static")
|
||||
@@ -15,10 +16,10 @@ templates = Jinja2Templates(directory="templates")
|
||||
queue: deque[str] = deque() # fifo ahh
|
||||
|
||||
|
||||
def link_extract_from_onetab(line):
|
||||
def link_extract_from_onetab(line: str) -> str:
|
||||
"link | title"
|
||||
link = line.split("|", 1)[0].strip()
|
||||
return link
|
||||
return AnyHttpUrl(link).unicode_string() # encoded is xn something
|
||||
|
||||
|
||||
@app.get("/", response_class=HTMLResponse)
|
||||
@@ -75,6 +76,11 @@ async def queue_len():
|
||||
return len(queue)
|
||||
|
||||
|
||||
@app.post("/api/queue/clear")
|
||||
async def clear_queue():
|
||||
queue.clear()
|
||||
|
||||
|
||||
@app.get("/qrcode_queue", response_class=HTMLResponse)
|
||||
async def qrcodequeue(request: Request):
|
||||
return templates.TemplateResponse(request, "qq.html", {"queue_items": list(queue)})
|
||||
|
||||
@@ -281,6 +281,7 @@ source = { virtual = "." }
|
||||
dependencies = [
|
||||
{ name = "fastapi" },
|
||||
{ name = "flask" },
|
||||
{ name = "pydantic" },
|
||||
{ name = "python-multipart" },
|
||||
{ name = "qrcode" },
|
||||
{ name = "uvicorn" },
|
||||
@@ -290,6 +291,7 @@ dependencies = [
|
||||
requires-dist = [
|
||||
{ name = "fastapi" },
|
||||
{ name = "flask" },
|
||||
{ name = "pydantic", specifier = ">=2.12.5" },
|
||||
{ name = "python-multipart" },
|
||||
{ name = "qrcode", specifier = ">=8.2" },
|
||||
{ name = "uvicorn" },
|
||||
|
||||
Reference in new issue
Block a user