uk/mangaInUa (#14209)

* Fix loading latest, adding search

All manga shown (not just 16 titles)
Add search

* Update Mangainua.kt

Back popular
Searching in latest

* Update Mangainua.kt

Search.length>3

* Update Mangainua.kt

fix

* Update src/uk/mangainua/src/eu/kanade/tachiyomi/extension/uk/mangainua/Mangainua.kt

Co-authored-by: scb261 <65343233+scb261@users.noreply.github.com>

Co-authored-by: scb261 <65343233+scb261@users.noreply.github.com>
This commit is contained in:
SurroKun 2022-11-15 00:08:12 +03:00 committed by GitHub
parent 1ac441710f
commit 91abba9ac5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 31 additions and 7 deletions

View File

@ -5,7 +5,7 @@ ext {
extName = 'MangaInUa' extName = 'MangaInUa'
pkgNameSuffix = 'uk.mangainua' pkgNameSuffix = 'uk.mangainua'
extClass = '.Mangainua' extClass = '.Mangainua'
extVersionCode = 1 extVersionCode = 2
isNsfw = true isNsfw = true
} }

View File

@ -1,11 +1,13 @@
package eu.kanade.tachiyomi.extension.uk.mangainua package eu.kanade.tachiyomi.extension.uk.mangainua
import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.POST
import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.source.model.FilterList
import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.Page
import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SChapter
import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.model.SManga
import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.source.online.ParsedHttpSource
import okhttp3.FormBody
import okhttp3.Headers import okhttp3.Headers
import okhttp3.OkHttpClient import okhttp3.OkHttpClient
import okhttp3.Request import okhttp3.Request
@ -44,7 +46,7 @@ class Mangainua : ParsedHttpSource() {
} }
override fun popularMangaNextPageSelector() = "not used" override fun popularMangaNextPageSelector() = "not used"
// Latest // Latest (using for search)
override fun latestUpdatesRequest(page: Int): Request { override fun latestUpdatesRequest(page: Int): Request {
return GET("$baseUrl/page/$page/") return GET("$baseUrl/page/$page/")
} }
@ -55,16 +57,38 @@ class Mangainua : ParsedHttpSource() {
setUrlWithoutDomain(it.attr("href")) setUrlWithoutDomain(it.attr("href"))
title = it.text() title = it.text()
} }
thumbnail_url = element.select("img").attr("abs:data-src") thumbnail_url = element.select("div.card--big img").attr("abs:data-src")
} }
} }
override fun latestUpdatesNextPageSelector() = "a:contains(Наступна)" override fun latestUpdatesNextPageSelector() = "a:contains(Наступна)"
// Search // Search
override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request = throw UnsupportedOperationException("Not supported / Не підтримується") override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
override fun searchMangaSelector() = popularMangaSelector() if (query.length > 2 ) {
override fun searchMangaFromElement(element: Element) = popularMangaFromElement(element) return POST(
override fun searchMangaNextPageSelector() = popularMangaNextPageSelector() "$baseUrl/index.php?do=search",
body = FormBody.Builder()
.add("do", "search")
.add("subaction", "search")
.add("story", query)
.add("search_start", page.toString())
.build(),
headers = headers
)
} else return throw UnsupportedOperationException("Запит має містити щонайменше 3 символи / The query must contain at least 3 characters")
}
override fun searchMangaSelector() = latestUpdatesSelector()
override fun searchMangaFromElement(element: Element): SManga {
return SManga.create().apply {
element.select("h3.card__title a").first().let {
setUrlWithoutDomain(it.attr("href"))
title = it.text()
}
thumbnail_url = element.select("div.card--big img").attr("abs:src")
}
}
override fun searchMangaNextPageSelector() = latestUpdatesNextPageSelector()
// Manga Details // Manga Details
override fun mangaDetailsParse(document: Document): SManga { override fun mangaDetailsParse(document: Document): SManga {