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 {