Fixed pagination behavior for upcoming scenes.
This commit is contained in:
@@ -37,7 +37,11 @@ async function filterUniqueReleases(latestReleases, accReleases) {
|
||||
return uniqueReleases;
|
||||
}
|
||||
|
||||
function needNextPage(releases, uniqueReleases, totalReleases, hasDates) {
|
||||
function needNextPage(releases, uniqueReleases, totalReleases, hasDates, upcoming) {
|
||||
if (upcoming && uniqueReleases.length > 0) {
|
||||
return argv.paginateUpcoming;
|
||||
}
|
||||
|
||||
if (argv.last) {
|
||||
return totalReleases + releases.length < argv.last;
|
||||
}
|
||||
@@ -46,6 +50,10 @@ function needNextPage(releases, uniqueReleases, totalReleases, hasDates) {
|
||||
return totalReleases + releases.length < argv.nullDateLimit;
|
||||
}
|
||||
|
||||
if (uniqueReleases.length === 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
const oldestReleaseOnPage = releases
|
||||
.sort((releaseA, releaseB) => releaseB.date - releaseA.date)
|
||||
.slice(-1)[0];
|
||||
@@ -84,7 +92,7 @@ async function scrapeReleases(scraper, entity, preData, upcoming = false, page =
|
||||
? limitedReleases
|
||||
: await filterUniqueReleases(limitedReleases, accReleases);
|
||||
|
||||
if (needNextPage(releases, uniqueReleases, totalReleases, hasDates)) {
|
||||
if (needNextPage(releases, uniqueReleases, totalReleases, hasDates, upcoming)) {
|
||||
return scrapeReleases(scraper, entity, preData, upcoming, page + 1, accReleases.concat(uniqueReleases), totalReleases + releases.length);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user