fix: loading multiple oscars per movie
This commit is contained in:
parent
02a9621734
commit
0a7933bbba
2 changed files with 15 additions and 6 deletions
|
|
@ -78,7 +78,10 @@ async def test_get_ratings_for_group_with_awards(
|
||||||
award3 = models.Award(
|
award3 = models.Award(
|
||||||
movie_id=movie1.id, category="oscars", details='{"name":"Best Visual Effects"}'
|
movie_id=movie1.id, category="oscars", details='{"name":"Best Visual Effects"}'
|
||||||
)
|
)
|
||||||
await db.add(conn, award1, award2, award3)
|
award4 = models.Award(
|
||||||
|
movie_id=movie1.id, category="oscars", details='{"name":"Best Picture"}'
|
||||||
|
)
|
||||||
|
await db.add(conn, award1, award2, award3, award4)
|
||||||
|
|
||||||
rating = models.Rating(
|
rating = models.Rating(
|
||||||
movie_id=movie1.id, user_id=user.id, score=66, rating_date=datetime.now(tz=UTC)
|
movie_id=movie1.id, user_id=user.id, score=66, rating_date=datetime.now(tz=UTC)
|
||||||
|
|
@ -94,7 +97,11 @@ async def test_get_ratings_for_group_with_awards(
|
||||||
"original_title": movie1.original_title,
|
"original_title": movie1.original_title,
|
||||||
"user_scores": [rating.score],
|
"user_scores": [rating.score],
|
||||||
"year": movie1.release_year,
|
"year": movie1.release_year,
|
||||||
"awards": ["imdb-top-250:23", "oscars:Best Visual Effects"],
|
"awards": [
|
||||||
|
"imdb-top-250:23",
|
||||||
|
"oscars:Best Picture",
|
||||||
|
"oscars:Best Visual Effects",
|
||||||
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
resp = unauthorized_client.get(path)
|
resp = unauthorized_client.get(path)
|
||||||
|
|
|
||||||
|
|
@ -75,7 +75,9 @@ async def main(args: argparse.Namespace) -> None:
|
||||||
|
|
||||||
json_file: Path = args.json_file
|
json_file: Path = args.json_file
|
||||||
|
|
||||||
awards = dict(load_awards(json_file))
|
awards: dict[types.ImdbMovieId, list[models.Award]] = {}
|
||||||
|
for imdb_id, award in load_awards(json_file):
|
||||||
|
awards.setdefault(imdb_id, []).append(award)
|
||||||
async with db.new_connection() as conn:
|
async with db.new_connection() as conn:
|
||||||
imdb_ids = list(awards)
|
imdb_ids = list(awards)
|
||||||
available = await db.get_movie_ids(conn, imdb_ids)
|
available = await db.get_movie_ids(conn, imdb_ids)
|
||||||
|
|
@ -91,7 +93,7 @@ async def main(args: argparse.Namespace) -> None:
|
||||||
await remove_all_oscars(conn)
|
await remove_all_oscars(conn)
|
||||||
|
|
||||||
for imdb_id, unwind_id in available.items():
|
for imdb_id, unwind_id in available.items():
|
||||||
award = awards[imdb_id]
|
for award in awards[imdb_id]:
|
||||||
award.movie_id = unwind_id
|
award.movie_id = unwind_id
|
||||||
await db.add(conn, award)
|
await db.add(conn, award)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue