fix(totalPages): fixed bug showing wrong totalPages
This commit is contained in:
@@ -28,7 +28,7 @@ async function scrapeAnimeCategory(
|
|||||||
category,
|
category,
|
||||||
currentPage: Number(page),
|
currentPage: Number(page),
|
||||||
hasNextPage: false,
|
hasNextPage: false,
|
||||||
totalPages: 0,
|
totalPages: 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -56,7 +56,7 @@ async function scrapeAnimeCategory(
|
|||||||
: false;
|
: false;
|
||||||
|
|
||||||
res.totalPages =
|
res.totalPages =
|
||||||
parseInt(
|
Number(
|
||||||
$('.pagination > .page-item a[title="Last"]')
|
$('.pagination > .page-item a[title="Last"]')
|
||||||
?.attr("href")
|
?.attr("href")
|
||||||
?.split("=")
|
?.split("=")
|
||||||
@@ -66,17 +66,12 @@ async function scrapeAnimeCategory(
|
|||||||
?.split("=")
|
?.split("=")
|
||||||
.pop() ??
|
.pop() ??
|
||||||
$(".pagination > .page-item.active a")?.text()?.trim()
|
$(".pagination > .page-item.active a")?.text()?.trim()
|
||||||
) || 0;
|
) || 1;
|
||||||
|
|
||||||
if (res.totalPages === 0 && !res.hasNextPage) {
|
|
||||||
res.totalPages = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
res.animes = extractAnimes($, selector);
|
res.animes = extractAnimes($, selector);
|
||||||
|
|
||||||
if (res.animes.length === 0) {
|
if (res.animes.length === 0 && !res.hasNextPage) {
|
||||||
res.totalPages = 0;
|
res.totalPages = 0;
|
||||||
res.hasNextPage = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const genreSelector: SelectorType =
|
const genreSelector: SelectorType =
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import {
|
|||||||
import createHttpError, { HttpError } from "http-errors";
|
import createHttpError, { HttpError } from "http-errors";
|
||||||
import { ScrapedGenreAnime } from "../models";
|
import { ScrapedGenreAnime } from "../models";
|
||||||
|
|
||||||
// /anime/genre?name=${genreName}&page=${page}
|
// /anime/genre/${name}?page=${page}
|
||||||
async function scrapeGenreAnime(
|
async function scrapeGenreAnime(
|
||||||
genreName: string,
|
genreName: string,
|
||||||
page: number = 1
|
page: number = 1
|
||||||
@@ -22,7 +22,7 @@ async function scrapeGenreAnime(
|
|||||||
animes: [],
|
animes: [],
|
||||||
genres: [],
|
genres: [],
|
||||||
topAiringAnimes: [],
|
topAiringAnimes: [],
|
||||||
totalPages: 0,
|
totalPages: 1,
|
||||||
hasNextPage: false,
|
hasNextPage: false,
|
||||||
currentPage: Number(page),
|
currentPage: Number(page),
|
||||||
};
|
};
|
||||||
@@ -63,7 +63,7 @@ async function scrapeGenreAnime(
|
|||||||
: false;
|
: false;
|
||||||
|
|
||||||
res.totalPages =
|
res.totalPages =
|
||||||
parseInt(
|
Number(
|
||||||
$('.pagination > .page-item a[title="Last"]')
|
$('.pagination > .page-item a[title="Last"]')
|
||||||
?.attr("href")
|
?.attr("href")
|
||||||
?.split("=")
|
?.split("=")
|
||||||
@@ -73,17 +73,12 @@ async function scrapeGenreAnime(
|
|||||||
?.split("=")
|
?.split("=")
|
||||||
.pop() ??
|
.pop() ??
|
||||||
$(".pagination > .page-item.active a")?.text()?.trim()
|
$(".pagination > .page-item.active a")?.text()?.trim()
|
||||||
) || 0;
|
) || 1;
|
||||||
|
|
||||||
if (res.totalPages === 0 && !res.hasNextPage) {
|
|
||||||
res.totalPages = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
res.animes = extractAnimes($, selector);
|
res.animes = extractAnimes($, selector);
|
||||||
|
|
||||||
if (res.animes.length === 0) {
|
if (res.animes.length === 0 && !res.hasNextPage) {
|
||||||
res.totalPages = 0;
|
res.totalPages = 0;
|
||||||
res.hasNextPage = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const genreSelector: SelectorType =
|
const genreSelector: SelectorType =
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ async function scrapeAnimeSearch(
|
|||||||
mostPopularAnimes: [],
|
mostPopularAnimes: [],
|
||||||
currentPage: Number(page),
|
currentPage: Number(page),
|
||||||
hasNextPage: false,
|
hasNextPage: false,
|
||||||
totalPages: 0,
|
totalPages: 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -52,7 +52,7 @@ async function scrapeAnimeSearch(
|
|||||||
: false;
|
: false;
|
||||||
|
|
||||||
res.totalPages =
|
res.totalPages =
|
||||||
parseInt(
|
Number(
|
||||||
$('.pagination > .page-item a[title="Last"]')
|
$('.pagination > .page-item a[title="Last"]')
|
||||||
?.attr("href")
|
?.attr("href")
|
||||||
?.split("=")
|
?.split("=")
|
||||||
@@ -62,17 +62,12 @@ async function scrapeAnimeSearch(
|
|||||||
?.split("=")
|
?.split("=")
|
||||||
.pop() ??
|
.pop() ??
|
||||||
$(".pagination > .page-item.active a")?.text()?.trim()
|
$(".pagination > .page-item.active a")?.text()?.trim()
|
||||||
) || 0;
|
) || 1;
|
||||||
|
|
||||||
if (res.totalPages === 0 && !res.hasNextPage) {
|
|
||||||
res.totalPages = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
res.animes = extractAnimes($, selector);
|
res.animes = extractAnimes($, selector);
|
||||||
|
|
||||||
if (res.animes.length === 0) {
|
if (res.animes.length === 0 && !res.hasNextPage) {
|
||||||
res.totalPages = 0;
|
res.totalPages = 0;
|
||||||
res.hasNextPage = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const mostPopularSelector: SelectorType =
|
const mostPopularSelector: SelectorType =
|
||||||
|
|||||||
Reference in New Issue
Block a user