diff --git a/src/ja/mangaraw/build.gradle b/src/ja/mangaraw/build.gradle index ff2907019..c9f1e3a12 100644 --- a/src/ja/mangaraw/build.gradle +++ b/src/ja/mangaraw/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'MangaRaw' pkgNameSuffix = 'ja.mangaraw' extClass = '.MangaRawFactory' - extVersionCode = 4 + extVersionCode = 5 } apply from: "$rootDir/common.gradle" diff --git a/src/ja/mangaraw/src/eu/kanade/tachiyomi/extension/ja/mangaraw/MangaRaw.kt b/src/ja/mangaraw/src/eu/kanade/tachiyomi/extension/ja/mangaraw/MangaRaw.kt index d8e7ee2c2..54052f5b1 100644 --- a/src/ja/mangaraw/src/eu/kanade/tachiyomi/extension/ja/mangaraw/MangaRaw.kt +++ b/src/ja/mangaraw/src/eu/kanade/tachiyomi/extension/ja/mangaraw/MangaRaw.kt @@ -7,29 +7,27 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource import okhttp3.Headers -import okhttp3.OkHttpClient -import okhttp3.Protocol +import okhttp3.Request import org.jsoup.nodes.Document import org.jsoup.nodes.Element abstract class MangaRaw( override val name: String, - override val baseUrl: String + override val baseUrl: String, ) : ParsedHttpSource() { + protected open val imageSelector = ".wp-block-image > img" + override val lang = "ja" override val supportsLatest = true - override val client: OkHttpClient = network.cloudflareClient.newBuilder() - .protocols(listOf(Protocol.HTTP_1_1)) - .build() - override fun headersBuilder(): Headers.Builder { return super.headersBuilder().add("Referer", baseUrl) } - override fun popularMangaRequest(page: Int) = GET("$baseUrl/seachlist/page/$page/?cat=-1", headers) + override fun popularMangaRequest(page: Int): Request = + GET("$baseUrl/seachlist/page/$page/?cat=-1", headers) override fun popularMangaSelector() = "article" @@ -49,7 +47,8 @@ abstract class MangaRaw( override fun latestUpdatesNextPageSelector() = popularMangaNextPageSelector() - override fun searchMangaRequest(page: Int, query: String, filters: FilterList) = GET("$baseUrl/page/$page/?s=$query", headers) + override fun searchMangaRequest(page: Int, query: String, filters: FilterList) = + GET("$baseUrl/page/$page/?s=$query", headers) override fun searchMangaSelector() = popularMangaSelector() @@ -58,8 +57,10 @@ abstract class MangaRaw( override fun searchMangaNextPageSelector() = popularMangaNextPageSelector() override fun mangaDetailsParse(document: Document) = SManga.create().apply { - genre = document.select("p.has-text-color:has(strong) a").joinToString { it.text() } - description = document.select("p.has-text-color:not(:has(strong))").first().text() + // All manga details are located in the same
tag
+ // So here are some jank way of extracting them
+ description = document.select("#main > article > div > div > div > div > p").html()
+ .substringAfterLast("
")
thumbnail_url = document.select(".wp-block-image img").attr("abs:src")
}
@@ -71,13 +72,14 @@ abstract class MangaRaw(
}
override fun pageListParse(document: Document): List
").drop(1)
+ genre = document.select("#main > article > div > div > div > div > p > a")
+ .joinToString(separator = ", ", transform = { it.text() })
+ description = document.select("#main > article > div > div > div > div > p").html()
+ .substringAfterLast("
")
+ thumbnail_url = document.select(".wp-block-image img").attr("abs:src")
+ }
+}