diff options
| author | Ritesh Ghosh <[email protected]> | 2023-08-06 18:48:44 +0530 |
|---|---|---|
| committer | Ritesh Ghosh <[email protected]> | 2023-08-06 18:48:44 +0530 |
| commit | 96085a32b1aa8f882464da2a47218997b26b8145 (patch) | |
| tree | 8e9b31db84d76817e3c771d88f1d499f13b59067 /src | |
| parent | 6af828597038ace43fea85eecff93f4c0d9c6978 (diff) | |
| download | aniwatch-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.ts | 13 | ||||
| -rw-r--r-- | src/parsers/animeGenre.ts | 15 | ||||
| -rw-r--r-- | src/parsers/animeSearch.ts | 13 |
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 = |
