From 35a2715ad55e64242dc1d9f66a2825a29db1d0ab Mon Sep 17 00:00:00 2001 From: "Cuong M. Tran" Date: Fri, 15 Mar 2024 00:48:16 +0700 Subject: [PATCH] New source: Arabs Hentai (ar) (#1842) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * New source: Arabs Hentai (ar) * fix “alternative name” * fix: escape query string * Fix non-nullable & improve code * it’s ok for thumbnail to be null --- src/ar/arabshentai/build.gradle | 8 + .../res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 5629 bytes .../res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2986 bytes .../res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 8077 bytes .../res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 14770 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 23360 bytes .../extension/ar/arabshentai/ArabsHentai.kt | 219 ++++++++++++++++++ .../ar/arabshentai/ArabsHentaiFilters.kt | 34 +++ 8 files changed, 261 insertions(+) create mode 100644 src/ar/arabshentai/build.gradle create mode 100644 src/ar/arabshentai/res/mipmap-hdpi/ic_launcher.png create mode 100644 src/ar/arabshentai/res/mipmap-mdpi/ic_launcher.png create mode 100644 src/ar/arabshentai/res/mipmap-xhdpi/ic_launcher.png create mode 100644 src/ar/arabshentai/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 src/ar/arabshentai/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 src/ar/arabshentai/src/eu/kanade/tachiyomi/extension/ar/arabshentai/ArabsHentai.kt create mode 100644 src/ar/arabshentai/src/eu/kanade/tachiyomi/extension/ar/arabshentai/ArabsHentaiFilters.kt diff --git a/src/ar/arabshentai/build.gradle b/src/ar/arabshentai/build.gradle new file mode 100644 index 000000000..5933d3a9f --- /dev/null +++ b/src/ar/arabshentai/build.gradle @@ -0,0 +1,8 @@ +ext { + extName = 'Arabs Hentai' + extClass = '.ArabsHentai' + extVersionCode = 1 + isNsfw = true +} + +apply from: "$rootDir/common.gradle" diff --git a/src/ar/arabshentai/res/mipmap-hdpi/ic_launcher.png b/src/ar/arabshentai/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..a25a4c637dafc661954933f3ae6834f12bb39247 GIT binary patch literal 5629 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 Xp0CF4tUk1D00000NkvXXu0mjfIx2St literal 0 HcmV?d00001 diff --git a/src/ar/arabshentai/res/mipmap-mdpi/ic_launcher.png b/src/ar/arabshentai/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..c97f5a4cc336684b523c28880b5b13f49455479b GIT binary patch literal 2986 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 literal 0 HcmV?d00001 diff --git a/src/ar/arabshentai/res/mipmap-xhdpi/ic_launcher.png b/src/ar/arabshentai/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..9160d31bf631a97277e4fd8875357bea273256ba GIT binary patch literal 8077 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 + when (filter) { + is GenresOpFilter -> url.addQueryParameter("op", filter.toUriPart()) + is GenresFilter -> + filter.state + .filter { it.state } + .forEach { url.addQueryParameter("genre[]", it.uriPart) } + is StatusFilter -> + filter.state + .filter { it.state } + .forEach { url.addQueryParameter("status[]", it.uriPart) } + else -> {} + } + } + + return GET(url.build(), headers) + } + + override fun searchMangaSelector() = ".search-page .result-item article" + + override fun searchMangaFromElement(element: Element) = + SManga.create().apply { + element.selectFirst(".details .title")!!.run { + setUrlWithoutDomain(selectFirst("a")!!.absUrl("href")) + title = ownText() + } + thumbnail_url = element.selectFirst(".image .thumbnail a img")?.imgAttr() + } + + override fun searchMangaNextPageSelector() = ".pagination span.current + a" + + // =========================== Manga Details ============================ + override fun mangaDetailsParse(document: Document) = + SManga.create().apply { + document.selectFirst(".content")!!.run { + title = selectFirst(".sheader .data h1")!!.text() + thumbnail_url = selectFirst(".sheader .poster img")?.imgAttr() + val genres = mutableListOf() + selectFirst("#manga-info")?.run { + description = "\u061C" + select(".wp-content p").text() + + "\n" + "أسماء أُخرى: " + select("div b:contains(أسماء أُخرى) + span").text() + status = select("div b:contains(حالة المانجا) + span").text().parseStatus() + author = select("div b:contains(الكاتب) + span a").text() + artist = select("div b:contains(الرسام) + span a").text() + genres += select("div b:contains(نوع العمل) + span a").text() + } + genres += select(".data .sgeneros a").map { it.text() } + genre = genres.joinToString() + } + } + + private fun String?.parseStatus() = + when { + this == null -> SManga.UNKNOWN + this.contains("مستمر", ignoreCase = true) -> SManga.ONGOING + this.contains("مكتمل", ignoreCase = true) -> SManga.COMPLETED + this.contains("متوقف", ignoreCase = true) -> SManga.ON_HIATUS + this.contains("ملغية", ignoreCase = true) -> SManga.CANCELLED + else -> SManga.UNKNOWN + } + + // ============================== Chapters ============================== + override fun chapterListSelector() = "#chapter-list a[href*='/manga/'], .oneshot-reader .images .image-item a[href$='manga-paged=1']" + + override fun chapterFromElement(element: Element) = + SChapter.create().apply { + val url = element.attr("href") + if (url.contains("style=paged")) { + setUrlWithoutDomain(url.substringBeforeLast("?")) + name = "ونشوت" + date_upload = 0L + } else { + name = element.select(".chapternum").text() + date_upload = element.select(".chapterdate").text().parseChapterDate() + setUrlWithoutDomain(url) + } + } + + private fun String?.parseChapterDate(): Long { + if (this == null) return 0L + return try { + dateFormat.parse(this)!!.time + } catch (_: ParseException) { + 0L + } + } + + // =============================== Pages ================================ + override fun pageListParse(document: Document): List { + return document.select(".chapter_image img.wp-manga-chapter-img").mapIndexed { index, item -> + Page(index = index, imageUrl = item.imgAttr()) + } + } + + override fun imageUrlParse(document: Document): String = throw UnsupportedOperationException() + + private fun Element.imgAttr(): String? { + return when { + hasAttr("srcset") -> attr("abs:srcset").substringBefore(" ") + hasAttr("data-cfsrc") -> attr("abs:data-cfsrc") + hasAttr("data-src") -> attr("abs:data-src") + hasAttr("data-lazy-src") -> attr("abs:data-lazy-src") + else -> attr("abs:src") + } + } + + override fun getFilterList(): FilterList { + launchIO { fetchGenres() } + return FilterList( + GenresFilter(), + GenresOpFilter(), + StatusFilter(), + ) + } + + private val scope = CoroutineScope(Dispatchers.IO) + + private fun launchIO(block: () -> Unit) = scope.launch { block() } + + private var fetchGenresAttempts: Int = 0 + + private fun fetchGenres() { + if (fetchGenresAttempts < 3 && genreList.isEmpty()) { + try { + genreList = client.newCall(genresRequest()).execute() + .asJsoup() + .let(::parseGenres) + } catch (_: Exception) { + } finally { + fetchGenresAttempts++ + } + } + } + + private fun genresRequest(): Request { + return GET("$baseUrl/%d8%aa%d8%b5%d9%86%d9%8a%d9%81%d8%a7%d8%aa", headers) + } + + private fun parseGenres(document: Document): List> { + val items = document.select("#archive-content ul.genre-list li.item-genre .genre-data a") + return buildList(items.size) { + items.mapTo(this) { + val value = it.ownText() + Pair(value, value) + } + } + } +} diff --git a/src/ar/arabshentai/src/eu/kanade/tachiyomi/extension/ar/arabshentai/ArabsHentaiFilters.kt b/src/ar/arabshentai/src/eu/kanade/tachiyomi/extension/ar/arabshentai/ArabsHentaiFilters.kt new file mode 100644 index 000000000..2832f2f73 --- /dev/null +++ b/src/ar/arabshentai/src/eu/kanade/tachiyomi/extension/ar/arabshentai/ArabsHentaiFilters.kt @@ -0,0 +1,34 @@ +package eu.kanade.tachiyomi.extension.ar.arabshentai + +import eu.kanade.tachiyomi.source.model.Filter + +class StatusFilter : + Filter.Group( + "الحالة", + arrayOf( + Pair("مستمرة", "on-going"), + Pair("مكتملة", "end"), + Pair("ملغية", "canceled"), + Pair("متوقفة حالياً", "on-hold"), + ).map { FilterCheckbox(it.first, it.second) }, + ) + +internal var genreList: List> = emptyList() + +class FilterCheckbox(name: String, val uriPart: String) : Filter.CheckBox(name) + +class GenresFilter : + Filter.Group("التصنيفات", genreList.map { FilterCheckbox(it.first, it.second) }) + +class GenresOpFilter : UriPartFilter( + "شرط التصنيفات", + arrayOf( + Pair("يحتوي على إحدى التصنيفات المدرجة", ""), + Pair("يحتوي على جميع التصنيفات المدرجة", "1"), + ), +) + +open class UriPartFilter(displayName: String, private val pairs: Array>) : + Filter.Select(displayName, pairs.map { it.first }.toTypedArray()) { + fun toUriPart() = pairs[state].second +}