update
This commit is contained in:
+27
-4
@@ -389,15 +389,38 @@ class RadarrClient:
|
|||||||
return None
|
return None
|
||||||
|
|
||||||
def earliest_import_event(self, movie_id: int) -> Optional[str]:
|
def earliest_import_event(self, movie_id: int) -> Optional[str]:
|
||||||
|
# Collect all history pages to ensure we don't miss early import events
|
||||||
|
all_items = []
|
||||||
|
page = 1
|
||||||
|
page_size = 1000
|
||||||
|
|
||||||
|
while True:
|
||||||
data = self._get("/api/v3/history/movie", {
|
data = self._get("/api/v3/history/movie", {
|
||||||
"movieId": movie_id, "page": 1, "pageSize": 1000,
|
"movieId": movie_id, "page": page, "pageSize": page_size,
|
||||||
"sortKey": "date", "sortDirection": "ascending"
|
"sortKey": "date", "sortDirection": "ascending"
|
||||||
})
|
})
|
||||||
if not data:
|
if not data:
|
||||||
_log("DEBUG", f"No history data returned for movie_id {movie_id}")
|
break
|
||||||
return None
|
|
||||||
items = data if isinstance(data, list) else data.get("records") or []
|
items = data if isinstance(data, list) else data.get("records") or []
|
||||||
_log("DEBUG", f"Found {len(items)} history items for movie_id {movie_id}")
|
if not items:
|
||||||
|
break
|
||||||
|
|
||||||
|
all_items.extend(items)
|
||||||
|
_log("DEBUG", f"Page {page}: Found {len(items)} history items for movie_id {movie_id}")
|
||||||
|
|
||||||
|
# If we got less than pageSize, we've reached the end
|
||||||
|
if len(items) < page_size:
|
||||||
|
break
|
||||||
|
|
||||||
|
page += 1
|
||||||
|
# Safety valve - don't go crazy with pagination
|
||||||
|
if page > 10:
|
||||||
|
_log("WARNING", f"Stopped pagination at page 10 for movie_id {movie_id} - may have missed some history")
|
||||||
|
break
|
||||||
|
|
||||||
|
_log("DEBUG", f"Found {len(all_items)} total history items across {page} pages for movie_id {movie_id}")
|
||||||
|
items = all_items
|
||||||
|
|
||||||
first_grab = None
|
first_grab = None
|
||||||
for it in items:
|
for it in items:
|
||||||
|
|||||||
Reference in New Issue
Block a user