From d385860ca9d6274e7ebca5b302c2ca855d432a13 Mon Sep 17 00:00:00 2001 From: ducklet Date: Fri, 10 May 2024 00:13:32 +0200 Subject: [PATCH] fix: find next rating page --- tests/fixtures/ratings-ur655321.html.bz2 | Bin 0 -> 109846 bytes tests/test_imdb.py | 17 ++++ unwind/imdb.py | 99 ++++++++++++++--------- 3 files changed, 78 insertions(+), 38 deletions(-) create mode 100644 tests/fixtures/ratings-ur655321.html.bz2 diff --git a/tests/fixtures/ratings-ur655321.html.bz2 b/tests/fixtures/ratings-ur655321.html.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..db71d446a11efc938240b922e2b18e6261367096 GIT binary patch literal 109846 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 SpR#j*{x0N-aG@dW8Kg)98?ZM3 literal 0 HcmV?d00001 diff --git a/tests/test_imdb.py b/tests/test_imdb.py index 4f949d6..99ad4a0 100644 --- a/tests/test_imdb.py +++ b/tests/test_imdb.py @@ -65,3 +65,20 @@ async def test_load_top_250(monkeypatch): movie_ids = await imdb.load_top_250() assert len(movie_ids) == 250 assert all(id_.startswith("tt") for id_ in movie_ids) + + +@pytest.mark.asyncio +async def test_load_ratings_page(monkeypatch): + with bz2.open(fixturesdir / "ratings-ur655321.html.bz2", "rb") as f: + html = f.read() + soup = bs4.BeautifulSoup(html, "html5lib") + + monkeypatch.setattr(imdb, "asoup_from_url", AsyncMock(return_value=soup)) + + page = await imdb.load_ratings_page("fakeurl") + assert len(page.ratings) == 100 + assert page.imdb_user_id is not None + assert page.imdb_user_id == "ur655321" + assert page.imdb_user_name == "AlexUltra" + assert page.next_page_url is not None + assert page.next_page_url.startswith("/user/ur655321/ratings?") diff --git a/unwind/imdb.py b/unwind/imdb.py index 6646d78..542751f 100644 --- a/unwind/imdb.py +++ b/unwind/imdb.py @@ -2,6 +2,7 @@ import json import logging import re from collections import namedtuple +from dataclasses import dataclass, field from datetime import datetime from typing import AsyncIterable from urllib.parse import urljoin @@ -48,7 +49,7 @@ async def refresh_user_ratings_from_imdb(stop_on_dupe: bool = True): log.info("⚡️ Loading data for %s ...", user.name) try: - async for rating, is_updated in load_ratings(user.imdb_id): + async for rating, is_updated in load_and_store_ratings(user.imdb_id): assert rating.user is not None and rating.user.id == user.id if stop_on_dupe and not is_updated: @@ -154,27 +155,35 @@ def movie_and_rating_from_item(item: bs4.Tag) -> tuple[Movie, Rating]: ForgedRequest = namedtuple("ForgedRequest", "url headers") +MovieId = str # ttXXXXXXXX +UserId = str # urXXXXXXXX -async def parse_page(url: str) -> tuple[list[Rating], str | None]: - ratings = [] + +@dataclass +class RatingsPage: + ratings: list[Rating] = field(default_factory=list) + next_page_url: str | None = None + imdb_user_id: UserId | None = None + imdb_user_name: str | None = None + + +async def load_ratings_page(url: str) -> RatingsPage: + page = RatingsPage() soup = await asoup_from_url(url) if (meta := soup.find("meta", property="pageId")) is None: raise RuntimeError("No pageId found.") assert isinstance(meta, bs4.Tag) - imdb_id = meta["content"] - assert isinstance(imdb_id, str) - async with db.new_connection() as conn: - user = await db.get(conn, User, imdb_id=imdb_id) or User( - imdb_id=imdb_id, name="", secret="" - ) + if isinstance(page_id := meta["content"], list): + page_id = page_id[0] + page.imdb_user_id = page_id if (headline := soup.h1) is None: raise RuntimeError("No headline found.") assert isinstance(headline.string, str) if match := find_name(headline.string): - user.name = match["name"] + page.imdb_user_name = match["name"] items = soup.find_all("div", "lister-item-content") for i, item in enumerate(items): @@ -191,48 +200,62 @@ async def parse_page(url: str) -> tuple[list[Rating], str | None]: ) continue - rating.user = user rating.movie = movie - ratings.append(rating) + page.ratings.append(rating) - next_url = None if (footer := soup.find("div", "footer")) is None: raise RuntimeError("No footer found.") assert isinstance(footer, bs4.Tag) - if (next_link := footer.find("a", string="Next")) is not None: + if (next_link := footer.find("a", string=re.compile("Next"))) is not None: assert isinstance(next_link, bs4.Tag) next_href = next_link["href"] assert isinstance(next_href, str) - next_url = urljoin(url, next_href) + page.next_page_url = urljoin(url, next_href) - return (ratings, next_url if url != next_url else None) + return page -async def load_ratings(user_id: str) -> AsyncIterable[tuple[Rating, bool]]: +async def load_and_store_ratings( + user_id: MovieId, +) -> AsyncIterable[tuple[Rating, bool]]: + async with db.new_connection() as conn: + user = await db.get(conn, User, imdb_id=user_id) or User( + imdb_id=user_id, name="", secret="" + ) + + is_first = True + async for rating in load_ratings(user_id): + assert rating.movie + + rating.user = user + + async with db.transaction() as conn: + if is_first: + is_first = False + # All rating objects share the same user. + await db.add_or_update_user(conn, rating.user) + rating.user_id = rating.user.id + + await db.add_or_update_movie(conn, rating.movie) + rating.movie_id = rating.movie.id + + is_updated = await db.add_or_update_rating(conn, rating) + + yield rating, is_updated + + +async def load_ratings(user_id: MovieId) -> AsyncIterable[Rating]: next_url = user_ratings_url(user_id) while next_url: - ratings, next_url = await parse_page(next_url) - - for i, rating in enumerate(ratings): - assert rating.user and rating.movie - - async with db.transaction() as conn: - if i == 0: - # All rating objects share the same user. - await db.add_or_update_user(conn, rating.user) - rating.user_id = rating.user.id - - await db.add_or_update_movie(conn, rating.movie) - rating.movie_id = rating.movie.id - - is_updated = await db.add_or_update_rating(conn, rating) - - yield rating, is_updated + ratings_page = await load_ratings_page(next_url) + next_url = ratings_page.next_page_url + for rating in ratings_page.ratings: + yield rating -async def _ids_from_list_html(url: str) -> AsyncIterable[str]: +async def _ids_from_list_html(url: str) -> AsyncIterable[MovieId]: """Return all IMDb movie IDs (`tt*`) from the given URL.""" # document.querySelectorAll('li.ipc-metadata-list-summary-item a.ipc-title-link-wrapper') # .href: '/title/tt1213644/?ref_=chtbtm_t_1' @@ -245,7 +268,7 @@ async def _ids_from_list_html(url: str) -> AsyncIterable[str]: yield match_["id"] -async def load_most_popular_100() -> list[str]: +async def load_most_popular_100() -> list[MovieId]: """Return the IMDb's top 100 most popular movies. IMDb Charts: Most Popular Movies @@ -258,7 +281,7 @@ async def load_most_popular_100() -> list[str]: return ids -async def load_bottom_100() -> list[str]: +async def load_bottom_100() -> list[MovieId]: """Return the IMDb's bottom 100 lowest rated movies. IMDb Charts: Lowest Rated Movies @@ -271,7 +294,7 @@ async def load_bottom_100() -> list[str]: return ids -async def load_top_250() -> list[str]: +async def load_top_250() -> list[MovieId]: """Return the IMDb's top 250 highest rated movies. IMDb Charts: IMDb Top 250 Movies