From d11445f73ba3adcc481b6e88ae01dae983889a30 Mon Sep 17 00:00:00 2001 From: e-shl <35057681+e-shl@users.noreply.github.com> Date: Thu, 24 Feb 2022 18:56:46 +0500 Subject: [PATCH] [RU]Grouple correct Chapter Number (#10920) --- src/ru/allhentai/build.gradle | 2 +- .../extension/ru/allhentai/AllHentai.kt | 21 +++++++++++-------- src/ru/mintmanga/build.gradle | 2 +- .../extension/ru/mintmanga/Mintmanga.kt | 21 +++++++++++-------- src/ru/readmanga/build.gradle | 2 +- .../extension/ru/readmanga/Readmanga.kt | 21 +++++++++++-------- src/ru/selfmanga/build.gradle | 2 +- .../extension/ru/selfmanga/Selfmanga.kt | 21 +++++++++++-------- 8 files changed, 52 insertions(+), 40 deletions(-) diff --git a/src/ru/allhentai/build.gradle b/src/ru/allhentai/build.gradle index 2d00565e5..453ef6c84 100644 --- a/src/ru/allhentai/build.gradle +++ b/src/ru/allhentai/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'AllHentai' pkgNameSuffix = 'ru.allhentai' extClass = '.AllHentai' - extVersionCode = 14 + extVersionCode = 15 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 c60450cc6..d3f90523e 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 @@ -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 } } diff --git a/src/ru/mintmanga/build.gradle b/src/ru/mintmanga/build.gradle index 2f1d9dabd..970a1e07d 100644 --- a/src/ru/mintmanga/build.gradle +++ b/src/ru/mintmanga/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'Mintmanga' pkgNameSuffix = 'ru.mintmanga' extClass = '.Mintmanga' - extVersionCode = 37 + extVersionCode = 38 } dependencies { diff --git a/src/ru/mintmanga/src/eu/kanade/tachiyomi/extension/ru/mintmanga/Mintmanga.kt b/src/ru/mintmanga/src/eu/kanade/tachiyomi/extension/ru/mintmanga/Mintmanga.kt index 0ccddbfcb..12eb10bb7 100644 --- a/src/ru/mintmanga/src/eu/kanade/tachiyomi/extension/ru/mintmanga/Mintmanga.kt +++ b/src/ru/mintmanga/src/eu/kanade/tachiyomi/extension/ru/mintmanga/Mintmanga.kt @@ -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 } } diff --git a/src/ru/readmanga/build.gradle b/src/ru/readmanga/build.gradle index c1c8e22b4..a86debaca 100644 --- a/src/ru/readmanga/build.gradle +++ b/src/ru/readmanga/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'Readmanga' pkgNameSuffix = 'ru.readmanga' extClass = '.Readmanga' - extVersionCode = 36 + extVersionCode = 37 } dependencies { diff --git a/src/ru/readmanga/src/eu/kanade/tachiyomi/extension/ru/readmanga/Readmanga.kt b/src/ru/readmanga/src/eu/kanade/tachiyomi/extension/ru/readmanga/Readmanga.kt index ffabdcf34..3d15370d5 100644 --- a/src/ru/readmanga/src/eu/kanade/tachiyomi/extension/ru/readmanga/Readmanga.kt +++ b/src/ru/readmanga/src/eu/kanade/tachiyomi/extension/ru/readmanga/Readmanga.kt @@ -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 } } diff --git a/src/ru/selfmanga/build.gradle b/src/ru/selfmanga/build.gradle index ee9df83ef..483bdc0c7 100644 --- a/src/ru/selfmanga/build.gradle +++ b/src/ru/selfmanga/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'Selfmanga' pkgNameSuffix = 'ru.selfmanga' extClass = '.Selfmanga' - extVersionCode = 14 + extVersionCode = 15 } dependencies { diff --git a/src/ru/selfmanga/src/eu/kanade/tachiyomi/extension/ru/selfmanga/Selfmanga.kt b/src/ru/selfmanga/src/eu/kanade/tachiyomi/extension/ru/selfmanga/Selfmanga.kt index 6b4174970..11542f18a 100644 --- a/src/ru/selfmanga/src/eu/kanade/tachiyomi/extension/ru/selfmanga/Selfmanga.kt +++ b/src/ru/selfmanga/src/eu/kanade/tachiyomi/extension/ru/selfmanga/Selfmanga.kt @@ -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 } }