summaryrefslogtreecommitdiff
path: root/routers/films.py
diff options
context:
space:
mode:
Diffstat (limited to 'routers/films.py')
-rw-r--r--routers/films.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/routers/films.py b/routers/films.py
index 333eaef..449fd44 100644
--- a/routers/films.py
+++ b/routers/films.py
@@ -1,3 +1,4 @@
+import asyncio
from collections import Counter
from datetime import date, datetime
from itertools import groupby
@@ -12,6 +13,7 @@ from sqlalchemy.orm import Session
from database import get_db
from models import Film
+from services import omdb
from services.film_people import director_href, normalize_name, split_credit_names
from services.tmdb import TMDBNotConfiguredError, detail_context as tmdb_detail_context, movie_detail
@@ -442,7 +444,6 @@ def get_films_partial(
@router.get("/films/{film_id}")
async def film_detail(film_id: int, request: Request, db: Session = Depends(get_db)):
film = _get_film_or_404(db, film_id)
- tmdb_context = await _film_tmdb_context(film)
rewatch_filter = (
Film.tmdb_id == film.tmdb_id if film.tmdb_id is not None else Film.title == film.title
@@ -454,6 +455,11 @@ async def film_detail(film_id: int, request: Request, db: Session = Depends(get_
.all()
)
+ tmdb_context, ratings = await asyncio.gather(
+ _film_tmdb_context(film),
+ omdb.fetch_ratings(title=film.title, year=film.year),
+ )
+
return templates.TemplateResponse(
request=request,
name="detail.html",
@@ -463,6 +469,7 @@ async def film_detail(film_id: int, request: Request, db: Session = Depends(get_
"active_shelf": film.shelf,
"tmdb_context": tmdb_context,
"rewatch_history": rewatch_history,
+ "ratings": ratings,
},
)