From 6f69bc47a6df7017673913c879a8f97789d8cc76 Mon Sep 17 00:00:00 2001 From: Pacalini <141402887+Pacalini@users.noreply.github.com> Date: Tue, 14 Jan 2025 13:37:56 +0800 Subject: [PATCH] eh: DOM: fix gallery page count in favorite page (#35) * eh: DOM: fix single page fix https://github.com/venera-app/venera/issues/134 * eh: DOM: favorite page compact mode page count --- ehentai.js | 18 +++++++++++------- index.json | 2 +- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/ehentai.js b/ehentai.js index 497992a..cb343ae 100644 --- a/ehentai.js +++ b/ehentai.js @@ -7,7 +7,7 @@ class Ehentai extends ComicSource { // unique id of the source key = "ehentai" - version = "1.1.1" + version = "1.1.2" minAppVersion = "1.0.0" @@ -232,10 +232,14 @@ class Ehentai extends ComicSource { let title = item.children[2 + t].children[0].children[0].text; let link = item.children[2 + t].children[0].attributes["href"]; let uploader = ""; - let pages; + let pages = 0; try { - pages = Number(item.children[3 + t].children[1].text.match(/\d+/)[0]); - uploader = item.children[3 + t].children[0].children[0].text; + if (url.includes("/favorites.php")) { + pages = Number(item.children[1 + t].children[1].children[1].children[1].children[1].text.match(/\d+/)[0]); + } else { + pages = Number(item.children[3 + t].children[1].text.match(/\d+/)[0]); + uploader = item.children[3 + t].children[0].children[0].text; + } } catch(e) {} let tags = []; let language = null @@ -273,7 +277,7 @@ class Ehentai extends ComicSource { let coverPath = item.querySelector("img")?.attributes["src"] ?? ""; let stars = this.getStarsFromPosition(item.querySelector("div.gl5t > div > div.ir")?.attributes["style"] ?? ""); let link = item.querySelector("a")?.attributes["href"] ?? ""; - let pages = Number(item.querySelectorAll("div.gl5t > div > div").find((element) => element.text.includes("pages"))?.text.match(/\d+/)[0] ?? "0"); + let pages = Number(item.querySelectorAll("div.gl5t > div > div").find((element) => element.text.includes("page"))?.text.match(/\d+/)[0] ?? "0"); galleries.push(new Comic({ id: link, title: title, @@ -298,7 +302,7 @@ class Ehentai extends ComicSource { let stars = this.getStarsFromPosition(item.querySelector("td.gl2e > div > div.gl3e > div.ir")?.attributes["style"] ?? ""); let link = item.querySelector("td.gl1e > div > a")?.attributes["href"] ?? ""; let tags = item.querySelectorAll('div.gt, div.gtl').map((e) => e.attributes["title"] ?? ""); - let pages = Number(item.querySelectorAll("td.gl2e > div > div.gl3e > div").find((element) => element.text.includes("pages"))?.text.match(/\d+/)[0] ?? ""); + let pages = Number(item.querySelectorAll("td.gl2e > div > div.gl3e > div").find((element) => element.text.includes("page"))?.text.match(/\d+/)[0] ?? ""); let language = tags.find((e) => e.startsWith("language:") && !e.includes('translated'))?.split(":")[1].trim() ?? null; galleries.push(new Comic({ id: link, @@ -637,7 +641,7 @@ class Ehentai extends ComicSource { let maxPage = "1" for(let element of document.querySelectorAll("td.gdt2")) { - if (element.text.includes("pages")) { + if (element.text.includes("page")) { maxPage = element.text.match(/\d+/)[0]; } } diff --git a/index.json b/index.json index 313fec3..6df5ade 100644 --- a/index.json +++ b/index.json @@ -39,7 +39,7 @@ "name": "ehentai", "fileName": "ehentai.js", "key": "ehentai", - "version": "1.1.1" + "version": "1.1.2" }, { "name": "禁漫天堂",