From 29de466964ba2bd9f77482920d1be89a98b55b04 Mon Sep 17 00:00:00 2001 From: Enbiya Olgun <78034913+NBA2K1@users.noreply.github.com> Date: Sun, 12 Jan 2025 22:45:27 +0100 Subject: [PATCH] Update AniWorld & SerienStream Fix formatting issue in description --- javascript/anime/src/de/aniworld.js | 16 +++++++++++++--- javascript/anime/src/de/serienstream.js | 16 +++++++++++++--- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/javascript/anime/src/de/aniworld.js b/javascript/anime/src/de/aniworld.js index 7f8e5bd4..275bdb2d 100644 --- a/javascript/anime/src/de/aniworld.js +++ b/javascript/anime/src/de/aniworld.js @@ -69,6 +69,16 @@ class DefaultExtension extends MProvider { hasNextPage: false } } + cleanHtmlString(input) { + if (!input) return ""; + return input + .replace(/</g, '<') + .replace(/>/g, '>') + .replace(/
/g, '\n') + .replace(//g, '\n') + .replace(/"/g, '"') + .replace(/.*?<\/a>/g, '$1'); + } async getDetail(url) { const baseUrl = this.source.baseUrl; const res = await this.client.get(baseUrl + url); @@ -77,7 +87,7 @@ class DefaultExtension extends MProvider { document.selectFirst("div.seriesCoverBox img").attr("data-src"); const name = document.selectFirst("div.series-title h1 span").text; const genre = document.select("div.genres ul li").map(e => e.text); - const description = document.selectFirst("p.seri_des").attr("data-full-description"); + const description = this.cleanHtmlString(document.selectFirst("p.seri_des").attr("data-full-description")); const produzent = document.select("div.cast li") .filter(e => e.outerHtml.includes("Produzent:")); let author = ""; @@ -104,7 +114,7 @@ class DefaultExtension extends MProvider { const url = titleAnchor.attr("href"); const dateUpload = await this.getUploadDateFromEpisode(url); const episodeSeasonId = element.attr("data-episode-season-id"); - let episode = episodeSpan.text.replace(/'/g, "'"); + let episode = this.cleanHtmlString(episodeSpan.text); let name = ""; if (url.includes("/film")) { name = `Film ${episodeSeasonId} : ${episode}`; @@ -905,4 +915,4 @@ function absUrl(url, base) { } else { return base.slice(0, base.lastIndexOf('/') + 1) + url; } -} \ No newline at end of file +} diff --git a/javascript/anime/src/de/serienstream.js b/javascript/anime/src/de/serienstream.js index e85ae73a..4de35f1b 100644 --- a/javascript/anime/src/de/serienstream.js +++ b/javascript/anime/src/de/serienstream.js @@ -69,6 +69,16 @@ class DefaultExtension extends MProvider { hasNextPage: false } } + cleanHtmlString(input) { + if (!input) return ""; + return input + .replace(/</g, '<') + .replace(/>/g, '>') + .replace(/
/g, '\n') + .replace(//g, '\n') + .replace(/"/g, '"') + .replace(/.*?<\/a>/g, '$1'); + } async getDetail(url) { const baseUrl = this.source.baseUrl; const res = await this.client.get(baseUrl + url); @@ -77,7 +87,7 @@ class DefaultExtension extends MProvider { document.selectFirst("div.seriesCoverBox img").attr("data-src"); const name = document.selectFirst("div.series-title h1 span").text; const genre = document.select("div.genres ul li").map(e => e.text); - const description = document.selectFirst("p.seri_des").attr("data-full-description"); + const description = this.cleanHtmlString(document.selectFirst("p.seri_des").attr("data-full-description")); const produzent = document.select("div.cast li") .filter(e => e.outerHtml.includes("Produzent:")); let author = ""; @@ -104,7 +114,7 @@ class DefaultExtension extends MProvider { const url = titleAnchor.attr("href"); const dateUpload = await this.getUploadDateFromEpisode(url); const episodeSeasonId = element.attr("data-episode-season-id"); - let episode = episodeSpan.text.replace(/'/g, "'"); + let episode = this.cleanHtmlString(episodeSpan.text); let name = ""; if (url.includes("/film")) { name = `Film ${episodeSeasonId} : ${episode}`; @@ -905,4 +915,4 @@ function absUrl(url, base) { } else { return base.slice(0, base.lastIndexOf('/') + 1) + url; } -} \ No newline at end of file +}