diff --git a/src/ru/nudemoon/build.gradle b/src/ru/nudemoon/build.gradle index e47f5a100..effacf134 100644 --- a/src/ru/nudemoon/build.gradle +++ b/src/ru/nudemoon/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Nude-Moon' extClass = '.Nudemoon' - extVersionCode = 22 + extVersionCode = 23 isNsfw = true } diff --git a/src/ru/nudemoon/src/eu/kanade/tachiyomi/extension/ru/nudemoon/Nudemoon.kt b/src/ru/nudemoon/src/eu/kanade/tachiyomi/extension/ru/nudemoon/Nudemoon.kt index 3488daf85..b240c0f24 100644 --- a/src/ru/nudemoon/src/eu/kanade/tachiyomi/extension/ru/nudemoon/Nudemoon.kt +++ b/src/ru/nudemoon/src/eu/kanade/tachiyomi/extension/ru/nudemoon/Nudemoon.kt @@ -170,30 +170,39 @@ class Nudemoon : ParsedHttpSource(), ConfigurableSource { } override fun chapterListSelector() = popularMangaSelector() + protected fun chapterListNextPageSelector() = popularMangaNextPageSelector() override fun chapterListParse(response: Response): List = mutableListOf().apply { val document = response.asJsoup() document.selectFirst("td.button a:contains(Все главы)")?.let { allPageElement -> + var page = 1 var pageListDocument: Document - val pageListLink = allPageElement.attr("href") - client.newCall( - GET(baseUrl + pageListLink, headers), - ).execute().run { - if (!isSuccessful) { - close() - throw Exception("HTTP error $code") - } - pageListDocument = this.asJsoup() - } - if (pageListDocument.select(chapterListSelector()).isEmpty()) { - add(chapterFromSinglePage(document, response.request.url.toString())) - } else { - pageListDocument.select(chapterListSelector()) - .forEach { - add(chapterFromElement(it)) + var pageListLink = allPageElement.absUrl("href") + do { + client.newCall( + GET(pageListLink, headers), + ).execute().run { + if (!isSuccessful) { + close() + throw Exception("HTTP error $code") } - } + pageListDocument = this.asJsoup() + } + if (pageListDocument.select(chapterListSelector()).isEmpty() && page == 1) { + add(chapterFromSinglePage(document, response.request.url.toString())) + break + } else { + pageListDocument.select(chapterListSelector()) + .forEach { + add(chapterFromElement(it)) + } + } + pageListDocument.selectFirst(chapterListNextPageSelector())?.let { nextPageElement -> + page++ + pageListLink = nextPageElement.absUrl("href") + } + } while (pageListDocument.selectFirst(chapterListNextPageSelector()) != null) } ?: run { add(chapterFromSinglePage(document, response.request.url.toString())) } @@ -268,7 +277,6 @@ class Nudemoon : ParsedHttpSource(), ConfigurableSource { Genre("анал"), Genre("без цензуры"), Genre("беременные"), - Genre("близняшки"), Genre("большие груди"), Genre("в бассейне"), Genre("в больнице"), @@ -282,6 +290,7 @@ class Nudemoon : ParsedHttpSource(), ConfigurableSource { Genre("горничные"), Genre("горячий источник"), Genre("групповой секс"), + Genre("гуро"), Genre("драма"), Genre("запредельное"), Genre("золотой дождь"), @@ -290,11 +299,14 @@ class Nudemoon : ParsedHttpSource(), ConfigurableSource { Genre("извращение"), Genre("измена"), Genre("имеют парня"), + Genre("инцест"), Genre("клизма"), Genre("колготки"), - Genre("комиксы"), - Genre("комиксы 3D"), + Genre("комикс"), + Genre("копро"), Genre("косплей"), + Genre("лоликон"), + Genre("манхва"), Genre("мастурбация"), Genre("мерзкий мужик"), Genre("много спермы"), @@ -302,10 +314,14 @@ class Nudemoon : ParsedHttpSource(), ConfigurableSource { Genre("монстры"), Genre("на камеру"), Genre("на природе"), + Genre("насекомые"), + Genre("недоперевод"), + Genre("нейросеть"), Genre("обычный секс"), Genre("огромный член"), Genre("пляж"), Genre("подглядывание"), + Genre("пояс верности"), Genre("принуждение"), Genre("продажность"), Genre("пьяные"), @@ -313,6 +329,7 @@ class Nudemoon : ParsedHttpSource(), ConfigurableSource { Genre("романтика"), Genre("с ушками"), Genre("секс игрушки"), + Genre("сетакон"), Genre("спящие"), Genre("страпон"), Genre("студенты"), @@ -327,17 +344,21 @@ class Nudemoon : ParsedHttpSource(), ConfigurableSource { Genre("фетиш"), Genre("фурри"), Genre("футанари"), - Genre("футфетиш"), + Genre("футджоб"), Genre("фэнтези"), Genre("цветная"), Genre("чикан"), Genre("чулки"), Genre("шимейл"), Genre("эксгибиционизм"), + Genre("эльфы"), Genre("юмор"), + Genre("юные"), Genre("юри"), + Genre("яой"), + Genre("3D арт"), Genre("ahegao"), - Genre("BDSM"), + Genre("bdsm"), Genre("ganguro"), Genre("gender bender"), Genre("megane"), @@ -345,7 +366,9 @@ class Nudemoon : ParsedHttpSource(), ConfigurableSource { Genre("monstergirl"), Genre("netorare"), Genre("nipple penetration"), + Genre("skinsuit"), Genre("titsfuck"), + Genre("vore"), Genre("x-ray"), )