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