diff --git a/lib-multisrc/grouple/build.gradle.kts b/lib-multisrc/grouple/build.gradle.kts
index a8eb4dc7d..e20bfd6e4 100644
--- a/lib-multisrc/grouple/build.gradle.kts
+++ b/lib-multisrc/grouple/build.gradle.kts
@@ -2,4 +2,4 @@ plugins {
id("lib-multisrc")
}
-baseVersionCode = 26
+baseVersionCode = 27
diff --git a/lib-multisrc/grouple/src/eu/kanade/tachiyomi/multisrc/grouple/GroupLe.kt b/lib-multisrc/grouple/src/eu/kanade/tachiyomi/multisrc/grouple/GroupLe.kt
index 4f3e38f07..59ef60caa 100644
--- a/lib-multisrc/grouple/src/eu/kanade/tachiyomi/multisrc/grouple/GroupLe.kt
+++ b/lib-multisrc/grouple/src/eu/kanade/tachiyomi/multisrc/grouple/GroupLe.kt
@@ -177,17 +177,16 @@ abstract class GroupLe(
"div#tab-description .manga-description",
).text()
manga.status = when {
- infoElement.html()
- .contains("Запрещена публикация произведения по копирайту") || infoElement.html()
+ document.html()
+ .contains("Запрещена публикация произведения по копирайту") || document.html()
.contains("ЗАПРЕЩЕНА К ПУБЛИКАЦИИ НА ТЕРРИТОРИИ РФ!") -> SManga.LICENSED
- infoElement.html().contains("Сингл") -> SManga.COMPLETED
+ infoElement.html().contains("Сингл") -> SManga.COMPLETED
else ->
- when (infoElement.select("p:contains(Перевод:) span").first()?.text()) {
- "продолжается" -> SManga.ONGOING
- "начат" -> SManga.ONGOING
- "переведено" -> SManga.COMPLETED
- "завершён" -> SManga.COMPLETED
- "приостановлен" -> SManga.ON_HIATUS
+ when (infoElement.selectFirst("span.badge:contains(выпуск)")?.text()) {
+ "выпуск продолжается" -> SManga.ONGOING
+ "выпуск начат" -> SManga.ONGOING
+ "выпуск завершён" -> if (infoElement.selectFirst("span.badge:contains(переведено)")?.text()?.isNotEmpty() == true) SManga.COMPLETED else SManga.PUBLISHING_FINISHED
+ "выпуск приостановлен" -> SManga.ON_HIATUS
else -> SManga.UNKNOWN
}
}
@@ -213,15 +212,9 @@ abstract class GroupLe(
private fun chapterListParse(response: Response, manga: SManga): List {
val document = response.asJsoup()
- if ((
- document.select(".expandable.hide-dn").isNotEmpty() && document.select(".user-avatar")
- .isEmpty() && document.toString()
- .contains("current_user_country_code = 'RU'")
- ) || (
- document.select("img.logo")
- .first()?.attr("title")
- ?.contains("Allhentai") == true && document.select(".user-avatar").isEmpty()
- )
+
+ if (document.select(".user-avatar").isEmpty() &&
+ document.title().run { contains("AllHentai") || contains("MintManga") || contains("МинтМанга") }
) {
throw Exception("Для просмотра контента необходима авторизация через WebView\uD83C\uDF0E")
}
@@ -313,20 +306,22 @@ abstract class GroupLe(
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() || (
- document.select(".user-avatar")
- .isEmpty() && document.select("img.logo").first()?.attr("title")
- ?.contains("Allhentai") == true
- )
- ) {
- throw Exception("Для просмотра контента необходима авторизация через WebView\uD83C\uDF0E")
- }
- if (!response.request.url.toString().contains(baseUrl)) {
+ ) {
+ throw Exception("Для просмотра контента необходима авторизация через WebView\uD83C\uDF0E")
+ }
+
+ val readerMark = when {
+ html.contains("rm_h.readerDoInit([") -> "rm_h.readerDoInit(["
+ html.contains("rm_h.readerInit([") -> "rm_h.readerInit(["
+ !response.request.url.toString().contains(baseUrl) -> {
throw Exception("Не удалось загрузить главу. Url: ${response.request.url}")
}
+ else -> {
+ throw Exception("Дизайн сайта обновлен, для дальнейшей работы необходимо обновление дополнения")
+ }
}
val beginIndex = html.indexOf(readerMark)
diff --git a/src/ru/allhentai/build.gradle b/src/ru/allhentai/build.gradle
index ac7608972..a07d528ab 100644
--- a/src/ru/allhentai/build.gradle
+++ b/src/ru/allhentai/build.gradle
@@ -2,7 +2,7 @@ ext {
extName = 'AllHentai'
extClass = '.AllHentai'
themePkg = 'grouple'
- baseUrl = 'https://z.ahen.me'
+ baseUrl = 'https://20.allhen.online'
overrideVersionCode = 24
isNsfw = true
}
diff --git a/src/ru/allhentai/src/eu/kanade/tachiyomi/extension/ru/allhentai/AllHentai.kt b/src/ru/allhentai/src/eu/kanade/tachiyomi/extension/ru/allhentai/AllHentai.kt
index 3225fcecb..1f2e6cedc 100644
--- a/src/ru/allhentai/src/eu/kanade/tachiyomi/extension/ru/allhentai/AllHentai.kt
+++ b/src/ru/allhentai/src/eu/kanade/tachiyomi/extension/ru/allhentai/AllHentai.kt
@@ -12,7 +12,7 @@ import org.jsoup.nodes.Document
import uy.kohesive.injekt.Injekt
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
private val preferences = Injekt.get().getSharedPreferences("source_$id", 0x0000)