[RU]Grouple correct Chapter Number (#10920)

This commit is contained in:
e-shl 2022-02-24 18:56:46 +05:00 committed by GitHub
parent fb59633eaa
commit d11445f73b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 52 additions and 40 deletions

View File

@ -5,7 +5,7 @@ ext {
extName = 'AllHentai'
pkgNameSuffix = 'ru.allhentai'
extClass = '.AllHentai'
extVersionCode = 14
extVersionCode = 15
isNsfw = true
}

View File

@ -181,7 +181,7 @@ class AllHentai : ConfigurableSource, ParsedHttpSource() {
val urlText = urlElement.text()
val chapter = SChapter.create()
chapter.setUrlWithoutDomain(urlElement.attr("href") + "?mtr=1")
chapter.setUrlWithoutDomain(urlElement.attr("href"))
var translators = ""
val translatorElement = urlElement.attr("title")
@ -220,20 +220,23 @@ class AllHentai : ConfigurableSource, ParsedHttpSource() {
}
override fun prepareNewChapter(chapter: SChapter, manga: SManga) {
val urlChapterNumber = Regex("${manga.url}/vol([0-9])/")
val basic = Regex("""\s*([0-9]+)(\s-\s)([0-9]+)\s*""")
val extra = Regex("""\s*([0-9]+\sЭкстра)\s*""")
val single = Regex("""\s*Сингл\s*""")
when {
basic.containsMatchIn(chapter.name) -> {
basic.find(chapter.name)?.let {
val number = it.groups[3]?.value!!
chapter.chapter_number = number.toFloat()
}
chapter.chapter_number = chapter.url.split(urlChapterNumber)[1].toFloat()
}
extra.containsMatchIn(chapter.name) -> {
chapter.chapter_number = chapter.url.split(urlChapterNumber)[1].toFloat()
chapter.name = chapter.name.replaceFirst(" ", " - " + chapter.chapter_number.toString() + " ")
}
single.containsMatchIn(chapter.name) -> {
chapter.chapter_number = chapter.url.split(urlChapterNumber)[1].toFloat()
chapter.name = chapter.chapter_number.toString() + " " + chapter.name
}
extra.containsMatchIn(chapter.name) -> // Extra chapters doesn't contain chapter number
chapter.chapter_number = -2f
single.containsMatchIn(chapter.name) -> // Oneshoots, doujinshi and other mangas with one chapter
chapter.chapter_number = 1f
}
}

View File

@ -5,7 +5,7 @@ ext {
extName = 'Mintmanga'
pkgNameSuffix = 'ru.mintmanga'
extClass = '.Mintmanga'
extVersionCode = 37
extVersionCode = 38
}
dependencies {

View File

@ -213,7 +213,7 @@ class Mintmanga : ConfigurableSource, ParsedHttpSource() {
val urlText = urlElement.text()
val chapter = SChapter.create()
chapter.setUrlWithoutDomain(urlElement.attr("href") + "?mtr=1")
chapter.setUrlWithoutDomain(urlElement.attr("href"))
var translators = ""
val translatorElement = urlElement.attr("title")
@ -252,20 +252,23 @@ class Mintmanga : ConfigurableSource, ParsedHttpSource() {
}
override fun prepareNewChapter(chapter: SChapter, manga: SManga) {
val urlChapterNumber = Regex("${manga.url}/vol([0-9])/")
val basic = Regex("""\s*([0-9]+)(\s-\s)([0-9]+)\s*""")
val extra = Regex("""\s*([0-9]+\sЭкстра)\s*""")
val single = Regex("""\s*Сингл\s*""")
when {
basic.containsMatchIn(chapter.name) -> {
basic.find(chapter.name)?.let {
val number = it.groups[3]?.value!!
chapter.chapter_number = number.toFloat()
}
chapter.chapter_number = chapter.url.split(urlChapterNumber)[1].toFloat()
}
extra.containsMatchIn(chapter.name) -> {
chapter.chapter_number = chapter.url.split(urlChapterNumber)[1].toFloat()
chapter.name = chapter.name.replaceFirst(" ", " - " + chapter.chapter_number.toString() + " ")
}
single.containsMatchIn(chapter.name) -> {
chapter.chapter_number = chapter.url.split(urlChapterNumber)[1].toFloat()
chapter.name = chapter.chapter_number.toString() + " " + chapter.name
}
extra.containsMatchIn(chapter.name) -> // Extra chapters doesn't contain chapter number
chapter.chapter_number = -2f
single.containsMatchIn(chapter.name) -> // Oneshoots, doujinshi and other mangas with one chapter
chapter.chapter_number = 1f
}
}

View File

@ -5,7 +5,7 @@ ext {
extName = 'Readmanga'
pkgNameSuffix = 'ru.readmanga'
extClass = '.Readmanga'
extVersionCode = 36
extVersionCode = 37
}
dependencies {

View File

@ -214,7 +214,7 @@ class Readmanga : ConfigurableSource, ParsedHttpSource() {
val urlText = urlElement.text()
val chapter = SChapter.create()
chapter.setUrlWithoutDomain(urlElement.attr("href") + "?mtr=1")
chapter.setUrlWithoutDomain(urlElement.attr("href"))
var translators = ""
val translatorElement = urlElement.attr("title")
@ -253,20 +253,23 @@ class Readmanga : ConfigurableSource, ParsedHttpSource() {
}
override fun prepareNewChapter(chapter: SChapter, manga: SManga) {
val urlChapterNumber = Regex("${manga.url}/vol([0-9])/")
val basic = Regex("""\s*([0-9]+)(\s-\s)([0-9]+)\s*""")
val extra = Regex("""\s*([0-9]+\sЭкстра)\s*""")
val single = Regex("""\s*Сингл\s*""")
when {
basic.containsMatchIn(chapter.name) -> {
basic.find(chapter.name)?.let {
val number = it.groups[3]?.value!!
chapter.chapter_number = number.toFloat()
}
chapter.chapter_number = chapter.url.split(urlChapterNumber)[1].toFloat()
}
extra.containsMatchIn(chapter.name) -> {
chapter.chapter_number = chapter.url.split(urlChapterNumber)[1].toFloat()
chapter.name = chapter.name.replaceFirst(" ", " - " + chapter.chapter_number.toString() + " ")
}
single.containsMatchIn(chapter.name) -> {
chapter.chapter_number = chapter.url.split(urlChapterNumber)[1].toFloat()
chapter.name = chapter.chapter_number.toString() + " " + chapter.name
}
extra.containsMatchIn(chapter.name) -> // Extra chapters doesn't contain chapter number
chapter.chapter_number = -2f
single.containsMatchIn(chapter.name) -> // Oneshoots, doujinshi and other mangas with one chapter
chapter.chapter_number = 1f
}
}

View File

@ -5,7 +5,7 @@ ext {
extName = 'Selfmanga'
pkgNameSuffix = 'ru.selfmanga'
extClass = '.Selfmanga'
extVersionCode = 14
extVersionCode = 15
}
dependencies {

View File

@ -118,7 +118,7 @@ class Selfmanga : ParsedHttpSource() {
val urlText = urlElement.text()
val chapter = SChapter.create()
chapter.setUrlWithoutDomain(urlElement.attr("href") + "?mtr=1")
chapter.setUrlWithoutDomain(urlElement.attr("href"))
if (urlText.endsWith(" новое")) {
chapter.name = urlText.dropLast(6)
} else {
@ -135,20 +135,23 @@ class Selfmanga : ParsedHttpSource() {
}
override fun prepareNewChapter(chapter: SChapter, manga: SManga) {
val urlChapterNumber = Regex("${manga.url}/vol([0-9])/")
val basic = Regex("""\s*([0-9]+)(\s-\s)([0-9]+)\s*""")
val extra = Regex("""\s*([0-9]+\sЭкстра)\s*""")
val single = Regex("""\s*Сингл\s*""")
when {
basic.containsMatchIn(chapter.name) -> {
basic.find(chapter.name)?.let {
val number = it.groups[3]?.value!!
chapter.chapter_number = number.toFloat()
}
chapter.chapter_number = chapter.url.split(urlChapterNumber)[1].toFloat()
}
extra.containsMatchIn(chapter.name) -> {
chapter.chapter_number = chapter.url.split(urlChapterNumber)[1].toFloat()
chapter.name = chapter.name.replaceFirst(" ", " - " + chapter.chapter_number.toString() + " ")
}
single.containsMatchIn(chapter.name) -> {
chapter.chapter_number = chapter.url.split(urlChapterNumber)[1].toFloat()
chapter.name = chapter.chapter_number.toString() + " " + chapter.name
}
extra.containsMatchIn(chapter.name) -> // Extra chapters doesn't contain chapter number
chapter.chapter_number = -2f
single.containsMatchIn(chapter.name) -> // Oneshoots, doujinshi and other mangas with one chapter
chapter.chapter_number = 1f
}
}