From 4b35ae0c7858120ddcbf941cd389d9db3dcd13bb Mon Sep 17 00:00:00 2001 From: Chopper <156493704+choppeh@users.noreply.github.com> Date: Thu, 24 Oct 2024 08:40:55 -0300 Subject: [PATCH] TraducoesDoLipe: Refactoring (#5659) Refactoring --- .../pt/traducoesdolipe/TraducoesDoLipe.kt | 41 +++++-------------- 1 file changed, 10 insertions(+), 31 deletions(-) diff --git a/src/pt/traducoesdolipe/src/eu/kanade/tachiyomi/extension/pt/traducoesdolipe/TraducoesDoLipe.kt b/src/pt/traducoesdolipe/src/eu/kanade/tachiyomi/extension/pt/traducoesdolipe/TraducoesDoLipe.kt index d2fb37275..e12afdd2b 100644 --- a/src/pt/traducoesdolipe/src/eu/kanade/tachiyomi/extension/pt/traducoesdolipe/TraducoesDoLipe.kt +++ b/src/pt/traducoesdolipe/src/eu/kanade/tachiyomi/extension/pt/traducoesdolipe/TraducoesDoLipe.kt @@ -1,18 +1,13 @@ package eu.kanade.tachiyomi.extension.pt.traducoesdolipe import eu.kanade.tachiyomi.multisrc.zeistmanga.ZeistManga -import eu.kanade.tachiyomi.multisrc.zeistmanga.ZeistMangaDto -import eu.kanade.tachiyomi.network.GET -import eu.kanade.tachiyomi.network.asObservableSuccess import eu.kanade.tachiyomi.source.model.Page -import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.util.asJsoup import kotlinx.serialization.decodeFromString -import okhttp3.Request import okhttp3.Response +import org.jsoup.nodes.Document import org.jsoup.nodes.Element -import rx.Observable class TraducoesDoLipe : ZeistManga( "Traduções do Lipe", @@ -42,32 +37,16 @@ class TraducoesDoLipe : ZeistManga( setUrlWithoutDomain(document.location()) } - override fun chapterListRequest(manga: SManga): Request { - val projectName = manga.url.substringAfterLast("#") - val url = apiUrl(chapterCategory) - .addPathSegments(projectName) + override fun getChapterFeedUrl(doc: Document): String { + val feed = doc.select("script").map(Element::html) + .firstOrNull { script -> script.contains("catNameProject") } + ?.let { script -> PROJECT_NAME_REGEX.find(script)?.groups?.get("project")?.value } + ?: throw Exception("Não foi possivel encontrar o nome do projeto") + + return apiUrl(chapterCategory) + .addPathSegments(feed) .addQueryParameter("max-results", maxChapterResults.toString()) - .build() - return GET(url, headers) - } - - override fun fetchChapterList(manga: SManga): Observable> { - val project = client.newCall(mangaDetailsRequest(manga)).execute().let { - it.asJsoup().select("script").map(Element::html) - .firstOrNull { script -> script.contains("catNameProject") } - ?.let { script -> PROJECT_NAME_REGEX.find(script)?.groups?.get("project")?.value } - } - - return client.newCall(chapterListRequest(manga.apply { url = "$url#$project" })) - .asObservableSuccess() - .map(::chapterListParse) - } - - override fun chapterListParse(response: Response): List { - val result = json.decodeFromString(response.body.string()) - return result.feed?.entry?.filter { it.category.orEmpty().any { category -> category.term == chapterCategory } } - ?.map { it.toSChapter(baseUrl) } - ?: throw Exception("Failed to parse from chapter API") + .build().toString() } override fun pageListParse(response: Response): List {