reworked ebook_search routers
This commit is contained in:
@@ -14,7 +14,7 @@ from sqlalchemy.orm import Session
|
||||
|
||||
from python.common import configure_logger
|
||||
from python.ebook_search.api.bm25_tasks import cancel_bm25_refresh
|
||||
from python.ebook_search.api.routes import register_admin_routes, register_page_routes, register_search_routes
|
||||
from python.ebook_search.api.routes import admin_router, page_router, search_router
|
||||
from python.ebook_search.api.web import STATIC_DIR
|
||||
from python.ebook_search.bm25_corpus import ensure_bm25_corpus
|
||||
from python.ebook_search.config import load_config
|
||||
@@ -55,9 +55,11 @@ def create_app() -> FastAPI:
|
||||
app.state.config.answer_enabled,
|
||||
len(app.state.config.library_paths),
|
||||
)
|
||||
register_page_routes(app)
|
||||
register_search_routes(app)
|
||||
register_admin_routes(app)
|
||||
|
||||
app.include_router(admin_router)
|
||||
app.include_router(page_router)
|
||||
app.include_router(search_router)
|
||||
|
||||
return app
|
||||
|
||||
|
||||
|
||||
@@ -1,16 +1,11 @@
|
||||
"""EPUB search web route modules."""
|
||||
|
||||
from python.ebook_search.api.routes import admin, page, search
|
||||
|
||||
register_admin_routes = admin.register_admin_routes
|
||||
register_page_routes = page.register_page_routes
|
||||
register_search_routes = search.register_search_routes
|
||||
from python.ebook_search.api.routes.admin import router as admin_router
|
||||
from python.ebook_search.api.routes.page import router as page_router
|
||||
from python.ebook_search.api.routes.search import router as search_router
|
||||
|
||||
__all__ = [
|
||||
"admin",
|
||||
"page",
|
||||
"register_admin_routes",
|
||||
"register_page_routes",
|
||||
"register_search_routes",
|
||||
"search",
|
||||
"admin_router",
|
||||
"page_router",
|
||||
"search_router",
|
||||
]
|
||||
|
||||
@@ -4,7 +4,6 @@ from __future__ import annotations
|
||||
|
||||
import logging
|
||||
from dataclasses import replace
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from fastapi import APIRouter, Request
|
||||
from fastapi.responses import HTMLResponse
|
||||
@@ -15,20 +14,12 @@ from python.ebook_search.api.web import templates
|
||||
from python.ebook_search.embeddings import embed_missing_chunks, embedding_model_stats
|
||||
from python.ebook_search.ingest import ingest_configured_paths
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from fastapi import FastAPI
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
router = APIRouter(prefix="/admin")
|
||||
EMBED_ALL_BATCH_SIZE = 32
|
||||
|
||||
|
||||
def register_admin_routes(app: FastAPI) -> None:
|
||||
"""Register admin routes on the app."""
|
||||
app.include_router(router)
|
||||
|
||||
|
||||
@router.get("", response_class=HTMLResponse)
|
||||
def admin(request: Request) -> HTMLResponse:
|
||||
"""Render the admin page."""
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import logging
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from fastapi import APIRouter, Request
|
||||
from fastapi.responses import HTMLResponse
|
||||
@@ -13,19 +12,11 @@ from sqlalchemy.orm import Session
|
||||
from python.ebook_search.api.web import templates
|
||||
from python.orm.richie import EbookSource
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from fastapi import FastAPI
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
def register_page_routes(app: FastAPI) -> None:
|
||||
"""Register page routes on the app."""
|
||||
app.include_router(router)
|
||||
|
||||
|
||||
@router.get("/", response_class=HTMLResponse)
|
||||
def index(request: Request) -> HTMLResponse:
|
||||
"""Render the search page."""
|
||||
|
||||
@@ -5,7 +5,7 @@ from __future__ import annotations
|
||||
import logging
|
||||
from dataclasses import replace
|
||||
from time import perf_counter
|
||||
from typing import TYPE_CHECKING, Annotated
|
||||
from typing import Annotated
|
||||
|
||||
from fastapi import APIRouter, Form, Request
|
||||
from fastapi.responses import HTMLResponse
|
||||
@@ -15,19 +15,11 @@ from python.ebook_search.api.web import templates
|
||||
from python.ebook_search.search import search_ebooks
|
||||
from python.ebook_search.timing import runtime_step_from_start
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from fastapi import FastAPI
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
def register_search_routes(app: FastAPI) -> None:
|
||||
"""Register search routes on the app."""
|
||||
app.include_router(router)
|
||||
|
||||
|
||||
@router.post("/search", response_class=HTMLResponse)
|
||||
def search(
|
||||
request: Request,
|
||||
|
||||
Reference in New Issue
Block a user