From 4d3f7ba0abb9785483cd707938de4393866eb9e5 Mon Sep 17 00:00:00 2001 From: MikeZeDev Date: Sun, 11 Aug 2024 14:41:08 +0000 Subject: [PATCH] FIx GourmetScans: fix getting pages Fixes https://github.com/manga-download/hakuneko/issues/7322 Same fix than Haruneko --- src/web/mjs/connectors/GourmetScans.mjs | 35 ++++++++++++++++--------- 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/src/web/mjs/connectors/GourmetScans.mjs b/src/web/mjs/connectors/GourmetScans.mjs index 7d6beb58a1..b0486b134a 100644 --- a/src/web/mjs/connectors/GourmetScans.mjs +++ b/src/web/mjs/connectors/GourmetScans.mjs @@ -14,18 +14,29 @@ export default class GourmetScans extends WordPressMadara { const url = new URL(chapter.id, this.url); const request = new Request(url, this.requestOptions); const script = ` - new Promise((resolve, reject) => { - try { - let rocketscript = new RocketLazyLoadScripts; - rocketscript._loadEverythingNow(); - } catch (error) {} - - setTimeout(() => { - var imgdata = JSON.parse(CryptoJS.AES.decrypt(chapter_data, wpmangaprotectornonce, { - format: CryptoJSAesJson - }).toString(CryptoJS.enc.Utf8)); - resolve(JSON.parse(imgdata)); - }, 2500); + new Promise( (resolve, reject) => { + let tries = 0; + const interval = setInterval(function () { + try { + if (CryptoJS) { + clearInterval(interval); + let imgdata = JSON.parse(CryptoJS.AES.decrypt(chapter_data, wpmangaprotectornonce, { + format: CryptoJSAesJson + }).toString(CryptoJS.enc.Utf8)); + resolve(JSON.parse(imgdata)); + } + } catch (error) { + clearInterval(interval); + reject(error); + } finally { + tries++; + if (tries > 10) { + clearInterval(interval); + reject(new Error('Unable to get pictures after more than 10 tries !')); + } + } + }, 1000); + window.dispatchEvent(new KeyboardEvent('mousemove')); }); `; const data = await Engine.Request.fetchUI(request, script);