[RU]GroupLe fix chapter loads and manga status (#6828)
* [RU]GroupLe fix chapter loads and manga status * [RU]GroupLe small fix of manga status * [RU]GroupLe review fix * [RU]GroupLe fix for allhentai * [RU]GroupLe checks for allhentai and mintmanga
This commit is contained in:
parent
64b447a4ac
commit
18b1977691
|
@ -2,4 +2,4 @@ plugins {
|
||||||
id("lib-multisrc")
|
id("lib-multisrc")
|
||||||
}
|
}
|
||||||
|
|
||||||
baseVersionCode = 26
|
baseVersionCode = 27
|
||||||
|
|
|
@ -177,17 +177,16 @@ abstract class GroupLe(
|
||||||
"div#tab-description .manga-description",
|
"div#tab-description .manga-description",
|
||||||
).text()
|
).text()
|
||||||
manga.status = when {
|
manga.status = when {
|
||||||
infoElement.html()
|
document.html()
|
||||||
.contains("Запрещена публикация произведения по копирайту") || infoElement.html()
|
.contains("Запрещена публикация произведения по копирайту") || document.html()
|
||||||
.contains("ЗАПРЕЩЕНА К ПУБЛИКАЦИИ НА ТЕРРИТОРИИ РФ!") -> SManga.LICENSED
|
.contains("ЗАПРЕЩЕНА К ПУБЛИКАЦИИ НА ТЕРРИТОРИИ РФ!") -> SManga.LICENSED
|
||||||
infoElement.html().contains("<b>Сингл</b>") -> SManga.COMPLETED
|
infoElement.html().contains("<b>Сингл") -> SManga.COMPLETED
|
||||||
else ->
|
else ->
|
||||||
when (infoElement.select("p:contains(Перевод:) span").first()?.text()) {
|
when (infoElement.selectFirst("span.badge:contains(выпуск)")?.text()) {
|
||||||
"продолжается" -> SManga.ONGOING
|
"выпуск продолжается" -> SManga.ONGOING
|
||||||
"начат" -> SManga.ONGOING
|
"выпуск начат" -> SManga.ONGOING
|
||||||
"переведено" -> SManga.COMPLETED
|
"выпуск завершён" -> if (infoElement.selectFirst("span.badge:contains(переведено)")?.text()?.isNotEmpty() == true) SManga.COMPLETED else SManga.PUBLISHING_FINISHED
|
||||||
"завершён" -> SManga.COMPLETED
|
"выпуск приостановлен" -> SManga.ON_HIATUS
|
||||||
"приостановлен" -> SManga.ON_HIATUS
|
|
||||||
else -> SManga.UNKNOWN
|
else -> SManga.UNKNOWN
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -213,15 +212,9 @@ abstract class GroupLe(
|
||||||
|
|
||||||
private fun chapterListParse(response: Response, manga: SManga): List<SChapter> {
|
private fun chapterListParse(response: Response, manga: SManga): List<SChapter> {
|
||||||
val document = response.asJsoup()
|
val document = response.asJsoup()
|
||||||
if ((
|
|
||||||
document.select(".expandable.hide-dn").isNotEmpty() && document.select(".user-avatar")
|
if (document.select(".user-avatar").isEmpty() &&
|
||||||
.isEmpty() && document.toString()
|
document.title().run { contains("AllHentai") || contains("MintManga") || contains("МинтМанга") }
|
||||||
.contains("current_user_country_code = 'RU'")
|
|
||||||
) || (
|
|
||||||
document.select("img.logo")
|
|
||||||
.first()?.attr("title")
|
|
||||||
?.contains("Allhentai") == true && document.select(".user-avatar").isEmpty()
|
|
||||||
)
|
|
||||||
) {
|
) {
|
||||||
throw Exception("Для просмотра контента необходима авторизация через WebView\uD83C\uDF0E")
|
throw Exception("Для просмотра контента необходима авторизация через WebView\uD83C\uDF0E")
|
||||||
}
|
}
|
||||||
|
@ -313,20 +306,22 @@ abstract class GroupLe(
|
||||||
|
|
||||||
val html = document.html()
|
val html = document.html()
|
||||||
|
|
||||||
val readerMark = "rm_h.readerDoInit(["
|
if (document.select(".user-avatar").isEmpty() &&
|
||||||
|
document.title().run { contains("AllHentai") || contains("MintManga") || contains("МинтМанга") }
|
||||||
|
|
||||||
if (!html.contains(readerMark)) {
|
) {
|
||||||
if (document.select(".input-lg").isNotEmpty() || (
|
throw Exception("Для просмотра контента необходима авторизация через WebView\uD83C\uDF0E")
|
||||||
document.select(".user-avatar")
|
}
|
||||||
.isEmpty() && document.select("img.logo").first()?.attr("title")
|
|
||||||
?.contains("Allhentai") == true
|
val readerMark = when {
|
||||||
)
|
html.contains("rm_h.readerDoInit([") -> "rm_h.readerDoInit(["
|
||||||
) {
|
html.contains("rm_h.readerInit([") -> "rm_h.readerInit(["
|
||||||
throw Exception("Для просмотра контента необходима авторизация через WebView\uD83C\uDF0E")
|
!response.request.url.toString().contains(baseUrl) -> {
|
||||||
}
|
|
||||||
if (!response.request.url.toString().contains(baseUrl)) {
|
|
||||||
throw Exception("Не удалось загрузить главу. Url: ${response.request.url}")
|
throw Exception("Не удалось загрузить главу. Url: ${response.request.url}")
|
||||||
}
|
}
|
||||||
|
else -> {
|
||||||
|
throw Exception("Дизайн сайта обновлен, для дальнейшей работы необходимо обновление дополнения")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
val beginIndex = html.indexOf(readerMark)
|
val beginIndex = html.indexOf(readerMark)
|
||||||
|
|
|
@ -2,7 +2,7 @@ ext {
|
||||||
extName = 'AllHentai'
|
extName = 'AllHentai'
|
||||||
extClass = '.AllHentai'
|
extClass = '.AllHentai'
|
||||||
themePkg = 'grouple'
|
themePkg = 'grouple'
|
||||||
baseUrl = 'https://z.ahen.me'
|
baseUrl = 'https://20.allhen.online'
|
||||||
overrideVersionCode = 24
|
overrideVersionCode = 24
|
||||||
isNsfw = true
|
isNsfw = true
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,7 @@ import org.jsoup.nodes.Document
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
|
|
||||||
class AllHentai : GroupLe("AllHentai", "https://z.ahen.me", "ru") {
|
class AllHentai : GroupLe("AllHentai", "https://20.allhen.online", "ru") {
|
||||||
override val id = 1809051393403180443
|
override val id = 1809051393403180443
|
||||||
|
|
||||||
private val preferences = Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
|
private val preferences = Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
|
||||||
|
|
Loading…
Reference in New Issue