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)