[RU]Nudemoon chapter list fix and genre list update (#11033)

* Chapter list multiple page fix

* Genre list update

* Update src/ru/nudemoon/src/eu/kanade/tachiyomi/extension/ru/nudemoon/Nudemoon.kt

Co-authored-by: AwkwardPeak7 <48650614+AwkwardPeak7@users.noreply.github.com>

* One more absUrl

---------

Co-authored-by: AwkwardPeak7 <48650614+AwkwardPeak7@users.noreply.github.com>
This commit is contained in:
abubaca4 2025-10-15 15:45:37 +03:00 committed by Draff
parent f5bc644071
commit fc9dc6c4f2
Signed by: Draff
GPG Key ID: E8A89F3211677653
2 changed files with 46 additions and 23 deletions

View File

@ -1,7 +1,7 @@
ext {
extName = 'Nude-Moon'
extClass = '.Nudemoon'
extVersionCode = 22
extVersionCode = 23
isNsfw = true
}

View File

@ -170,30 +170,39 @@ class Nudemoon : ParsedHttpSource(), ConfigurableSource {
}
override fun chapterListSelector() = popularMangaSelector()
protected fun chapterListNextPageSelector() = popularMangaNextPageSelector()
override fun chapterListParse(response: Response): List<SChapter> = mutableListOf<SChapter>().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"),
)