Improve topic sorting: add popular sorting by publications and authors count

This commit is contained in:
2025-06-02 02:56:11 +03:00
parent baca19a4d5
commit 3327976586
113 changed files with 7238 additions and 3739 deletions

View File

@@ -1,19 +1,21 @@
import logging
from collections.abc import Awaitable
from typing import Callable
from starlette.middleware.base import BaseHTTPMiddleware
from starlette.responses import JSONResponse
from starlette.requests import Request
from starlette.responses import JSONResponse, Response
logger = logging.getLogger("exception")
logger = logging.getLogger(__name__)
logging.basicConfig(level=logging.DEBUG)
class ExceptionHandlerMiddleware(BaseHTTPMiddleware):
async def dispatch(self, request, call_next):
async def dispatch(self, request: Request, call_next: Callable[[Request], Awaitable[Response]]) -> Response:
try:
response = await call_next(request)
return response
except Exception as exc:
logger.exception(exc)
return await call_next(request)
except Exception:
logger.exception("Unhandled exception occurred")
return JSONResponse(
{"detail": "An error occurred. Please try again later."},
status_code=500,