From 1ef8153eca33c9436dc362920a5999a249a96afd Mon Sep 17 00:00:00 2001 From: Chopper <156493704+ttony2chopper@users.noreply.github.com> Date: Mon, 13 May 2024 12:30:02 -0300 Subject: [PATCH] Add BrasilHentai (#2918) * Add BrasilHentai * Fix popularMangaNextPage * Fix popularMangaRequest and set rateLimit * Fix names * Fix filter * Fix intent pathSegment * Remove extra request and add Initilize in popularMangaFromElement * Update src/pt/brasilhentai/src/eu/kanade/tachiyomi/extension/pt/brasilhentai/BrasilHentai.kt * Update src/pt/brasilhentai/src/eu/kanade/tachiyomi/extension/pt/brasilhentai/BrasilHentai.kt --------- Co-authored-by: AwkwardPeak7 <48650614+AwkwardPeak7@users.noreply.github.com> --- src/pt/brasilhentai/AndroidManifest.xml | 22 +++ src/pt/brasilhentai/build.gradle | 8 + .../res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 5414 bytes .../res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2746 bytes .../res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 8568 bytes .../res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 16992 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 26470 bytes .../extension/pt/brasilhentai/BrasilHentai.kt | 173 ++++++++++++++++++ .../brasilhentai/BrasilHentaiUrlActivity.kt | 34 ++++ 9 files changed, 237 insertions(+) create mode 100644 src/pt/brasilhentai/AndroidManifest.xml create mode 100644 src/pt/brasilhentai/build.gradle create mode 100644 src/pt/brasilhentai/res/mipmap-hdpi/ic_launcher.png create mode 100644 src/pt/brasilhentai/res/mipmap-mdpi/ic_launcher.png create mode 100644 src/pt/brasilhentai/res/mipmap-xhdpi/ic_launcher.png create mode 100644 src/pt/brasilhentai/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 src/pt/brasilhentai/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 src/pt/brasilhentai/src/eu/kanade/tachiyomi/extension/pt/brasilhentai/BrasilHentai.kt create mode 100644 src/pt/brasilhentai/src/eu/kanade/tachiyomi/extension/pt/brasilhentai/BrasilHentaiUrlActivity.kt diff --git a/src/pt/brasilhentai/AndroidManifest.xml b/src/pt/brasilhentai/AndroidManifest.xml new file mode 100644 index 000000000..68428d319 --- /dev/null +++ b/src/pt/brasilhentai/AndroidManifest.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + diff --git a/src/pt/brasilhentai/build.gradle b/src/pt/brasilhentai/build.gradle new file mode 100644 index 000000000..ca5ccc65c --- /dev/null +++ b/src/pt/brasilhentai/build.gradle @@ -0,0 +1,8 @@ +ext { + extName = 'Brasil Hentai' + extClass = '.BrasilHentai' + extVersionCode = 1 + isNsfw = true +} + +apply from: "$rootDir/common.gradle" diff --git a/src/pt/brasilhentai/res/mipmap-hdpi/ic_launcher.png b/src/pt/brasilhentai/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..919fab649892410cd37676ec3b461e10a57e1a1e GIT binary patch literal 5414 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 Qr~m)}07*qoM6N<$g4lIWWdHyG literal 0 HcmV?d00001 diff --git a/src/pt/brasilhentai/res/mipmap-mdpi/ic_launcher.png b/src/pt/brasilhentai/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..7db93692a64ae38f41adb407e2a4b66b897b176b GIT binary patch literal 2746 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 AmjD0& literal 0 HcmV?d00001 diff --git a/src/pt/brasilhentai/res/mipmap-xhdpi/ic_launcher.png b/src/pt/brasilhentai/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..8f46fd033db533edeadc1c2bc37ea86a3b1e884d GIT binary patch literal 8568 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 D;uaPe literal 0 HcmV?d00001 diff --git a/src/pt/brasilhentai/res/mipmap-xxxhdpi/ic_launcher.png b/src/pt/brasilhentai/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..2821b9ff9d70e818f1e3517e3cc42578be85a5da GIT binary patch literal 26470 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 Q0Z)&ToVsk8v{~@~0M`7j(*OVf literal 0 HcmV?d00001 diff --git a/src/pt/brasilhentai/src/eu/kanade/tachiyomi/extension/pt/brasilhentai/BrasilHentai.kt b/src/pt/brasilhentai/src/eu/kanade/tachiyomi/extension/pt/brasilhentai/BrasilHentai.kt new file mode 100644 index 000000000..4035b792c --- /dev/null +++ b/src/pt/brasilhentai/src/eu/kanade/tachiyomi/extension/pt/brasilhentai/BrasilHentai.kt @@ -0,0 +1,173 @@ +package eu.kanade.tachiyomi.extension.pt.brasilhentai + +import eu.kanade.tachiyomi.network.GET +import eu.kanade.tachiyomi.network.asObservableSuccess +import eu.kanade.tachiyomi.network.interceptor.rateLimit +import eu.kanade.tachiyomi.source.model.Filter +import eu.kanade.tachiyomi.source.model.FilterList +import eu.kanade.tachiyomi.source.model.MangasPage +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.source.online.ParsedHttpSource +import eu.kanade.tachiyomi.util.asJsoup +import okhttp3.HttpUrl.Companion.toHttpUrl +import okhttp3.OkHttpClient +import okhttp3.Request +import okhttp3.Response +import org.jsoup.nodes.Document +import org.jsoup.nodes.Element +import rx.Observable + +class BrasilHentai : ParsedHttpSource() { + + override val name = "Brasil Hentai" + + override val baseUrl = "https://brasilhentai.com" + + override val lang = "pt-BR" + + override val supportsLatest: Boolean = false + + override val client: OkHttpClient = network.cloudflareClient.newBuilder() + .rateLimit(4) + .build() + + private var categoryFilterOptions: Array> = emptyArray() + + override fun chapterFromElement(element: Element) = + throw UnsupportedOperationException() + + override fun chapterListSelector() = + throw UnsupportedOperationException() + + override fun fetchChapterList(manga: SManga): Observable> { + return Observable.just( + listOf( + SChapter.create().apply { + name = "CapĂ­tulo Ășnico" + url = manga.url + }, + ), + ) + } + + override fun imageUrlParse(document: Document) = "" + + override fun latestUpdatesFromElement(element: Element) = + throw UnsupportedOperationException() + + override fun latestUpdatesNextPageSelector() = + throw UnsupportedOperationException() + + override fun latestUpdatesRequest(page: Int) = + throw UnsupportedOperationException() + + override fun latestUpdatesSelector() = + throw UnsupportedOperationException() + + override fun mangaDetailsParse(document: Document) = SManga.create().apply { + title = document.selectFirst("h1")!!.ownText() + thumbnail_url = document.selectFirst(".entry-content p a img")?.absUrl("src") + } + + override fun pageListParse(document: Document): List { + return document.select(".entry-content p > img").mapIndexed { index, element -> + Page(index, imageUrl = element.absUrl("src")) + } + } + + override fun popularMangaFromElement(element: Element) = SManga.create().apply { + val anchor = element.selectFirst("a[title]") + title = anchor!!.attr("title") + thumbnail_url = element.selectFirst("img")?.absUrl("src") + initialized = true + setUrlWithoutDomain(anchor.absUrl("href")) + } + + override fun popularMangaNextPageSelector() = ".next.page-numbers" + + override fun popularMangaRequest(page: Int) = GET("$baseUrl/page/$page", headers) + + override fun popularMangaSelector() = ".content-area article" + + override fun popularMangaParse(response: Response): MangasPage { + val document = response.asJsoup() + if (categoryFilterOptions.isEmpty()) { + categoryFilterOptions = parseCategories(document) + } + return MangasPage( + mangas = document.select(popularMangaSelector()).map(::popularMangaFromElement), + hasNextPage = document.selectFirst(popularMangaNextPageSelector()) != null, + ) + } + + override fun searchMangaFromElement(element: Element) = popularMangaFromElement(element) + + override fun searchMangaNextPageSelector() = popularMangaNextPageSelector() + + override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { + val category = filters.filterIsInstance().first() + .selectedValue() + + val url = if (category.isEmpty()) { + "$baseUrl/page/$page".toHttpUrl().newBuilder() + .addQueryParameter("s", query) + .build() + } else { + "$baseUrl/category/$category/page/$page/".toHttpUrl() + } + + return GET(url, headers) + } + + override fun fetchSearchManga(page: Int, query: String, filters: FilterList): Observable { + return if (query.startsWith(PREFIX_SEARCH)) { + client.newCall(GET("$baseUrl/${query.substringAfter(PREFIX_SEARCH)}", headers)) + .asObservableSuccess() + .map { MangasPage(listOf(searchMangaFromElement(it.asJsoup())), false) } + } else { + super.fetchSearchManga(page, query, filters) + } + } + + override fun searchMangaSelector() = popularMangaSelector() + + override fun getFilterList(): FilterList { + val filters = mutableListOf>() + + filters += if (categoryFilterOptions.isNotEmpty()) { + CategoryFilter("Categoria", categoryFilterOptions) + } else { + Filter.Header("Aperte 'Redefinir' para tentar mostrar as categorias") + } + + return FilterList(filters) + } + + private fun parseCategories(document: Document): Array> { + return document.select("#categories-2 li a") + .map { element -> + val url = element.absUrl("href") + val category = url.split("/").filter { it.isNotBlank() }.last() + Pair(element.ownText(), category) + }.toTypedArray() + } + + class CategoryFilter( + displayName: String, + private val vals: Array>, + ) : Filter.Select( + displayName, + vals.map { it.first }.toTypedArray(), + vals.indexOfFirst { it.second.isEmpty() }.takeIf { it != -1 } ?: 0, + ) { + fun selectedValue() = vals[state].second + } + + private fun categoriesRequest(): Request = GET(baseUrl, headers) + + companion object { + val PREFIX_SEARCH: String = "slug:" + } +} diff --git a/src/pt/brasilhentai/src/eu/kanade/tachiyomi/extension/pt/brasilhentai/BrasilHentaiUrlActivity.kt b/src/pt/brasilhentai/src/eu/kanade/tachiyomi/extension/pt/brasilhentai/BrasilHentaiUrlActivity.kt new file mode 100644 index 000000000..9efca6cda --- /dev/null +++ b/src/pt/brasilhentai/src/eu/kanade/tachiyomi/extension/pt/brasilhentai/BrasilHentaiUrlActivity.kt @@ -0,0 +1,34 @@ +package eu.kanade.tachiyomi.extension.pt.brasilhentai + +import android.app.Activity +import android.content.ActivityNotFoundException +import android.content.Intent +import android.os.Bundle +import android.util.Log +import kotlin.system.exitProcess + +class BrasilHentaiUrlActivity : Activity() { + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + val segment = intent?.data?.lastPathSegment + if (segment != null) { + val mainIntent = Intent().apply { + action = "eu.kanade.tachiyomi.SEARCH" + putExtra("query", "${BrasilHentai.PREFIX_SEARCH}$segment") + putExtra("filter", packageName) + } + + try { + startActivity(mainIntent) + } catch (e: ActivityNotFoundException) { + Log.e("BrasilHentaiUrlActivity", e.toString()) + } + } else { + Log.e("BrasilHentaiUrlActivity", "could not parse uri from intent $intent") + } + + finish() + exitProcess(0) + } +}