aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRitesh Ghosh <[email protected]>2023-08-06 18:48:44 +0530
committerRitesh Ghosh <[email protected]>2023-08-06 18:48:44 +0530
commit96085a32b1aa8f882464da2a47218997b26b8145 (patch)
tree8e9b31db84d76817e3c771d88f1d499f13b59067 /src
parent6af828597038ace43fea85eecff93f4c0d9c6978 (diff)
downloadaniwatch-api-96085a32b1aa8f882464da2a47218997b26b8145.tar.xz
aniwatch-api-96085a32b1aa8f882464da2a47218997b26b8145.zip
fix(totalPages): fixed bug showing wrong `totalPages`
Diffstat (limited to 'src')
-rw-r--r--src/parsers/animeCategory.ts13
-rw-r--r--src/parsers/animeGenre.ts15
-rw-r--r--src/parsers/animeSearch.ts13
3 files changed, 13 insertions, 28 deletions
diff --git a/src/parsers/animeCategory.ts b/src/parsers/animeCategory.ts
index 12a322b..ffdd91c 100644
--- a/src/parsers/animeCategory.ts
+++ b/src/parsers/animeCategory.ts
@@ -28,7 +28,7 @@ async function scrapeAnimeCategory(
category,
currentPage: Number(page),
hasNextPage: false,
- totalPages: 0,
+ totalPages: 1,
};
try {
@@ -56,7 +56,7 @@ async function scrapeAnimeCategory(
: false;
res.totalPages =
- parseInt(
+ Number(
$('.pagination > .page-item a[title="Last"]')
?.attr("href")
?.split("=")
@@ -66,17 +66,12 @@ async function scrapeAnimeCategory(
?.split("=")
.pop() ??
$(".pagination > .page-item.active a")?.text()?.trim()
- ) || 0;
-
- if (res.totalPages === 0 && !res.hasNextPage) {
- res.totalPages = 0;
- }
+ ) || 1;
res.animes = extractAnimes($, selector);
- if (res.animes.length === 0) {
+ if (res.animes.length === 0 && !res.hasNextPage) {
res.totalPages = 0;
- res.hasNextPage = false;
}
const genreSelector: SelectorType =
diff --git a/src/parsers/animeGenre.ts b/src/parsers/animeGenre.ts
index a3c1b5a..aed166b 100644
--- a/src/parsers/animeGenre.ts
+++ b/src/parsers/animeGenre.ts
@@ -12,7 +12,7 @@ import {
import createHttpError, { HttpError } from "http-errors";
import { ScrapedGenreAnime } from "../models";
-// /anime/genre?name=${genreName}&page=${page}
+// /anime/genre/${name}?page=${page}
async function scrapeGenreAnime(
genreName: string,
page: number = 1
@@ -22,7 +22,7 @@ async function scrapeGenreAnime(
animes: [],
genres: [],
topAiringAnimes: [],
- totalPages: 0,
+ totalPages: 1,
hasNextPage: false,
currentPage: Number(page),
};
@@ -63,7 +63,7 @@ async function scrapeGenreAnime(
: false;
res.totalPages =
- parseInt(
+ Number(
$('.pagination > .page-item a[title="Last"]')
?.attr("href")
?.split("=")
@@ -73,17 +73,12 @@ async function scrapeGenreAnime(
?.split("=")
.pop() ??
$(".pagination > .page-item.active a")?.text()?.trim()
- ) || 0;
-
- if (res.totalPages === 0 && !res.hasNextPage) {
- res.totalPages = 0;
- }
+ ) || 1;
res.animes = extractAnimes($, selector);
- if (res.animes.length === 0) {
+ if (res.animes.length === 0 && !res.hasNextPage) {
res.totalPages = 0;
- res.hasNextPage = false;
}
const genreSelector: SelectorType =
diff --git a/src/parsers/animeSearch.ts b/src/parsers/animeSearch.ts
index 214045c..1c3c5f9 100644
--- a/src/parsers/animeSearch.ts
+++ b/src/parsers/animeSearch.ts
@@ -22,7 +22,7 @@ async function scrapeAnimeSearch(
mostPopularAnimes: [],
currentPage: Number(page),
hasNextPage: false,
- totalPages: 0,
+ totalPages: 1,
};
try {
@@ -52,7 +52,7 @@ async function scrapeAnimeSearch(
: false;
res.totalPages =
- parseInt(
+ Number(
$('.pagination > .page-item a[title="Last"]')
?.attr("href")
?.split("=")
@@ -62,17 +62,12 @@ async function scrapeAnimeSearch(
?.split("=")
.pop() ??
$(".pagination > .page-item.active a")?.text()?.trim()
- ) || 0;
-
- if (res.totalPages === 0 && !res.hasNextPage) {
- res.totalPages = 0;
- }
+ ) || 1;
res.animes = extractAnimes($, selector);
- if (res.animes.length === 0) {
+ if (res.animes.length === 0 && !res.hasNextPage) {
res.totalPages = 0;
- res.hasNextPage = false;
}
const mostPopularSelector: SelectorType =