From ba388ba8019d5e73ae8e0ad7977a1f5e2e6cc52a Mon Sep 17 00:00:00 2001 From: mr-brune <49653622+mr-brune@users.noreply.github.com> Date: Wed, 4 Sep 2024 16:29:03 +0200 Subject: [PATCH] Add HentaiArchive (#4807) * Hentaiarchive beta * Hentai Archive * add page searchsupport * remove debug * better tag * Update src/it/hentaiarchive/src/eu/kanade/tachiyomi/extension/it/hentaiarchive/HentaiArchive.kt Co-authored-by: AwkwardPeak7 <48650614+AwkwardPeak7@users.noreply.github.com> * Update src/it/hentaiarchive/src/eu/kanade/tachiyomi/extension/it/hentaiarchive/HentaiArchive.kt Co-authored-by: AwkwardPeak7 <48650614+AwkwardPeak7@users.noreply.github.com> * Update src/it/hentaiarchive/src/eu/kanade/tachiyomi/extension/it/hentaiarchive/HentaiArchive.kt Co-authored-by: AwkwardPeak7 <48650614+AwkwardPeak7@users.noreply.github.com> * Update src/it/hentaiarchive/src/eu/kanade/tachiyomi/extension/it/hentaiarchive/HentaiArchive.kt Co-authored-by: AwkwardPeak7 <48650614+AwkwardPeak7@users.noreply.github.com> * Update src/it/hentaiarchive/src/eu/kanade/tachiyomi/extension/it/hentaiarchive/HentaiArchive.kt Co-authored-by: AwkwardPeak7 <48650614+AwkwardPeak7@users.noreply.github.com> * fix * fix most thing * Update HentaiArchive.kt * Update src/it/hentaiarchive/src/eu/kanade/tachiyomi/extension/it/hentaiarchive/HentaiArchive.kt --------- Co-authored-by: AwkwardPeak7 <48650614+AwkwardPeak7@users.noreply.github.com> --- src/it/hentaiarchive/build.gradle | 8 + .../res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3470 bytes .../res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 1932 bytes .../res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4747 bytes .../res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 9253 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 13899 bytes .../it/hentaiarchive/HentaiArchive.kt | 163 ++++++++++++++++++ 7 files changed, 171 insertions(+) create mode 100644 src/it/hentaiarchive/build.gradle create mode 100644 src/it/hentaiarchive/res/mipmap-hdpi/ic_launcher.png create mode 100644 src/it/hentaiarchive/res/mipmap-mdpi/ic_launcher.png create mode 100644 src/it/hentaiarchive/res/mipmap-xhdpi/ic_launcher.png create mode 100644 src/it/hentaiarchive/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 src/it/hentaiarchive/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 src/it/hentaiarchive/src/eu/kanade/tachiyomi/extension/it/hentaiarchive/HentaiArchive.kt diff --git a/src/it/hentaiarchive/build.gradle b/src/it/hentaiarchive/build.gradle new file mode 100644 index 000000000..21844e0b5 --- /dev/null +++ b/src/it/hentaiarchive/build.gradle @@ -0,0 +1,8 @@ +ext { + extName = 'HentaiArchive' + extClass = '.HentaiArchive' + extVersionCode = 1 + isNsfw = true +} + +apply from: "$rootDir/common.gradle" diff --git a/src/it/hentaiarchive/res/mipmap-hdpi/ic_launcher.png b/src/it/hentaiarchive/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..b1971451cc39c18f69d8c64c746d5e37d45278af GIT binary patch literal 3470 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 literal 0 HcmV?d00001 diff --git a/src/it/hentaiarchive/res/mipmap-mdpi/ic_launcher.png b/src/it/hentaiarchive/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..7d322cdfd6b3e645427bb55207778ae1775cf335 GIT binary patch literal 1932 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 Z{{RiyDCqd1`iB4j002ovPDHLkV1kRz7ft{G literal 0 HcmV?d00001 diff --git a/src/it/hentaiarchive/res/mipmap-xxhdpi/ic_launcher.png b/src/it/hentaiarchive/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..b876269a13fa205eb8b44f05f040fc25f974926b GIT binary patch literal 9253 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 + val request = chain.request() + val url = request.url.toString() + if (url.contains("picsarchive1.b-cdn.net")) { + return@addInterceptor chain.proceed(request.newBuilder().headers(cdnHeaders).build()) + } + chain.proceed(request) + } + .build() + + override val supportsLatest = false + + // ============================== Popular =============================== + override fun popularMangaRequest(page: Int) = GET("$baseUrl/category/hentai-recenti/page/$page", headers) + + override fun popularMangaSelector() = "div.posts-container article" + + override fun popularMangaFromElement(element: Element) = SManga.create().apply { + // Extract and set the URL without domain + setUrlWithoutDomain(element.selectFirst("a.entire-meta-link")!!.absUrl("href")) + + // Extract and set the title + title = element.selectFirst("span.screen-reader-text")!!.text() + + // Extract and set the thumbnail URL + thumbnail_url = element.selectFirst("span.post-featured-img img.wp-post-image")?.absUrl("data-nectar-img-src") + } + + override fun popularMangaNextPageSelector() = "nav#pagination a.next.page-numbers" + + // =============================== Latest =============================== + override fun latestUpdatesRequest(page: Int): Request { + throw UnsupportedOperationException() + } + + override fun latestUpdatesSelector(): String { + throw UnsupportedOperationException() + } + + override fun latestUpdatesFromElement(element: Element): SManga { + throw UnsupportedOperationException() + } + + override fun latestUpdatesNextPageSelector(): String? { + throw UnsupportedOperationException() + } + + // =============================== Search =============================== + + override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { + val url = "$baseUrl/page/$page/".toHttpUrl().newBuilder() + .addQueryParameter("s", query) + .build() + return GET(url, headers) + } + + override fun searchMangaSelector() = "article.result" + + override fun searchMangaFromElement(element: Element) = SManga.create().apply { + setUrlWithoutDomain(element.selectFirst("h2.title a")!!.absUrl("href")) + + title = element.selectFirst("h2.title a")!!.text() + + thumbnail_url = element.selectFirst("a img.wp-post-image")?.absUrl("src") + } + override fun searchMangaNextPageSelector() = "a.next.page-numbers" + + override fun mangaDetailsParse(document: Document) = SManga.create().apply { + status = SManga.COMPLETED + update_strategy = UpdateStrategy.ONLY_FETCH_ONCE + with(document.selectFirst("div.main-content")!!) { + title = selectFirst("h1")!!.text() + genre = getInfo("meta-category") + } + } + + private fun Element.getInfo(text: String): String? { + // Extract class names from elements with the class 'meta-category' + return select(".$text") + .flatMap { it.children() } + .flatMap { it.classNames() } + .joinToString(", ") + .replace("-", " ") + .replace("hentai", "") + .takeUnless(String::isBlank) + } + + // ============================== Chapters ============================== + override fun fetchChapterList(manga: SManga): Observable> { + val chapter = SChapter.create().apply { + url = manga.url + chapter_number = 1F + name = "Chapter" + } + + return Observable.just(listOf(chapter)) + } + + override fun chapterListSelector(): String { + throw UnsupportedOperationException() + } + + override fun chapterFromElement(element: Element): SChapter { + throw UnsupportedOperationException() + } + + // =============================== Pages ================================ + private var imageregex = Regex("-(\\d+x\\d+)(?=\\.jpg)") + + private fun Element.imgAttr(): String { + return when { + this.hasAttr("data-src") -> this.attr("data-src") + this.hasAttr("src") -> this.attr("src") + else -> "" + } + } + + override fun pageListParse(document: Document): List { + val imageElements = document.select("div.content-inner img") + + return imageElements.mapIndexed { index, element -> + + var imageUrl = element.imgAttr() + + // Remove the part between '-' and '.jpg' if it exists + imageUrl = imageUrl.replace(imageregex, "") + + Page(index, imageUrl = imageUrl) + } + } + + override fun imageUrlParse(document: Document): String { + throw UnsupportedOperationException() + } +}