book search engine #18

Open
Richie wants to merge 29 commits from feature/book-search-engine into main
5 changed files with 13 additions and 42 deletions
Showing only changes of commit ed45051eb5 - Show all commits
+6 -4
View File
@@ -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
+6 -11
View File
@@ -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",
]
-9
View File
@@ -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."""
-9
View File
@@ -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."""
+1 -9
View File
@@ -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,