Skip to content

Commit

Permalink
TraducoesDoLipe: Refactoring (#5659)
Browse files Browse the repository at this point in the history
Refactoring
  • Loading branch information
choppeh authored Oct 24, 2024
1 parent 97ce648 commit 360a00e
Showing 1 changed file with 10 additions and 31 deletions.
Original file line number Diff line number Diff line change
@@ -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",
Expand Down Expand Up @@ -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)
.addQueryParameter("max-results", maxChapterResults.toString())
.build()
return GET(url, headers)
}

override fun fetchChapterList(manga: SManga): Observable<List<SChapter>> {
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 }
}
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 client.newCall(chapterListRequest(manga.apply { url = "$url#$project" }))
.asObservableSuccess()
.map(::chapterListParse)
}

override fun chapterListParse(response: Response): List<SChapter> {
val result = json.decodeFromString<ZeistMangaDto>(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")
return apiUrl(chapterCategory)
.addPathSegments(feed)
.addQueryParameter("max-results", maxChapterResults.toString())
.build().toString()
}

override fun pageListParse(response: Response): List<Page> {
Expand Down

0 comments on commit 360a00e

Please sign in to comment.