[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 { ext {
extName = 'Nude-Moon' extName = 'Nude-Moon'
extClass = '.Nudemoon' extClass = '.Nudemoon'
extVersionCode = 22 extVersionCode = 23
isNsfw = true isNsfw = true
} }

View File

@ -170,30 +170,39 @@ class Nudemoon : ParsedHttpSource(), ConfigurableSource {
} }
override fun chapterListSelector() = popularMangaSelector() override fun chapterListSelector() = popularMangaSelector()
protected fun chapterListNextPageSelector() = popularMangaNextPageSelector()
override fun chapterListParse(response: Response): List<SChapter> = mutableListOf<SChapter>().apply { override fun chapterListParse(response: Response): List<SChapter> = mutableListOf<SChapter>().apply {
val document = response.asJsoup() val document = response.asJsoup()
document.selectFirst("td.button a:contains(Все главы)")?.let { allPageElement -> document.selectFirst("td.button a:contains(Все главы)")?.let { allPageElement ->
var page = 1
var pageListDocument: Document var pageListDocument: Document
val pageListLink = allPageElement.attr("href") var pageListLink = allPageElement.absUrl("href")
client.newCall( do {
GET(baseUrl + pageListLink, headers), client.newCall(
).execute().run { GET(pageListLink, headers),
if (!isSuccessful) { ).execute().run {
close() if (!isSuccessful) {
throw Exception("HTTP error $code") 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))
} }
} 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 { } ?: run {
add(chapterFromSinglePage(document, response.request.url.toString())) add(chapterFromSinglePage(document, response.request.url.toString()))
} }
@ -268,7 +277,6 @@ class Nudemoon : ParsedHttpSource(), ConfigurableSource {
Genre("анал"), Genre("анал"),
Genre("без цензуры"), Genre("без цензуры"),
Genre("беременные"), Genre("беременные"),
Genre("близняшки"),
Genre("большие груди"), Genre("большие груди"),
Genre("в бассейне"), Genre("в бассейне"),
Genre("в больнице"), Genre("в больнице"),
@ -282,6 +290,7 @@ class Nudemoon : ParsedHttpSource(), ConfigurableSource {
Genre("горничные"), Genre("горничные"),
Genre("горячий источник"), Genre("горячий источник"),
Genre("групповой секс"), Genre("групповой секс"),
Genre("гуро"),
Genre("драма"), Genre("драма"),
Genre("запредельное"), Genre("запредельное"),
Genre("золотой дождь"), Genre("золотой дождь"),
@ -290,11 +299,14 @@ class Nudemoon : ParsedHttpSource(), ConfigurableSource {
Genre("извращение"), Genre("извращение"),
Genre("измена"), Genre("измена"),
Genre("имеют парня"), Genre("имеют парня"),
Genre("инцест"),
Genre("клизма"), Genre("клизма"),
Genre("колготки"), Genre("колготки"),
Genre("комиксы"), Genre("комикс"),
Genre("комиксы 3D"), Genre("копро"),
Genre("косплей"), Genre("косплей"),
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("пляж"), 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("сетакон"),
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("шимейл"), Genre("шимейл"),
Genre("эксгибиционизм"), Genre("эксгибиционизм"),
Genre("эльфы"),
Genre("юмор"), Genre("юмор"),
Genre("юные"),
Genre("юри"), Genre("юри"),
Genre("яой"),
Genre("3D арт"),
Genre("ahegao"), Genre("ahegao"),
Genre("BDSM"), Genre("bdsm"),
Genre("ganguro"), Genre("ganguro"),
Genre("gender bender"), Genre("gender bender"),
Genre("megane"), Genre("megane"),
@ -345,7 +366,9 @@ class Nudemoon : ParsedHttpSource(), ConfigurableSource {
Genre("monstergirl"), Genre("monstergirl"),
Genre("netorare"), Genre("netorare"),
Genre("nipple penetration"), Genre("nipple penetration"),
Genre("skinsuit"),
Genre("titsfuck"), Genre("titsfuck"),
Genre("vore"),
Genre("x-ray"), Genre("x-ray"),
) )