From 252d72c204ae2b78087cdbac52afe35602bab174 Mon Sep 17 00:00:00 2001
From: Eugene <35057681+e-shl@users.noreply.github.com>
Date: Sat, 9 May 2020 20:31:28 +0500
Subject: [PATCH] Adding a manga type for j2k library filters (to sources:
comx, libmanga, mangachan, mintmanga, readmanga) (#3067)
* Add Russian types of manga
* Mangalib refactoring
Co-authored-by: Pavel Mosein
---
src/ru/comx/build.gradle | 2 +-
.../src/eu/kanade/tachiyomi/extension/ru/comx/ComX.kt | 2 +-
src/ru/libmanga/build.gradle | 2 +-
.../tachiyomi/extension/ru/libmanga/LibManga.kt | 11 ++++++++++-
src/ru/mangachan/build.gradle | 2 +-
.../tachiyomi/extension/ru/mangachan/Mangachan.kt | 9 +++++++--
src/ru/mintmanga/build.gradle | 2 +-
.../tachiyomi/extension/ru/mintmanga/Mintmanga.kt | 8 +++++++-
src/ru/readmanga/build.gradle | 2 +-
.../tachiyomi/extension/ru/readmanga/Readmanga.kt | 8 +++++++-
10 files changed, 37 insertions(+), 11 deletions(-)
diff --git a/src/ru/comx/build.gradle b/src/ru/comx/build.gradle
index da438eea3..292ff7e09 100644
--- a/src/ru/comx/build.gradle
+++ b/src/ru/comx/build.gradle
@@ -5,7 +5,7 @@ ext {
appName = 'Tachiyomi: ComX'
pkgNameSuffix = 'ru.comx'
extClass = '.ComX'
- extVersionCode = 5
+ extVersionCode = 6
libVersion = '1.2'
}
diff --git a/src/ru/comx/src/eu/kanade/tachiyomi/extension/ru/comx/ComX.kt b/src/ru/comx/src/eu/kanade/tachiyomi/extension/ru/comx/ComX.kt
index 62ab9688a..1cc573af7 100644
--- a/src/ru/comx/src/eu/kanade/tachiyomi/extension/ru/comx/ComX.kt
+++ b/src/ru/comx/src/eu/kanade/tachiyomi/extension/ru/comx/ComX.kt
@@ -109,7 +109,7 @@ class ComX : ParsedHttpSource() {
val manga = SManga.create()
manga.author = infoElement.select("p:eq(2)").text().removePrefix("Издатель: ")
manga.genre = infoElement.select("p:eq(3)").text()
- .removePrefix("Жанр: ")
+ .removePrefix("Жанр: ").split(",").plusElement("Комикс").joinToString { it.trim() }
manga.status = parseStatus(infoElement.select("p:eq(4)").text()
.removePrefix("Статус: "))
diff --git a/src/ru/libmanga/build.gradle b/src/ru/libmanga/build.gradle
index 5e14591b0..9d60a16f5 100644
--- a/src/ru/libmanga/build.gradle
+++ b/src/ru/libmanga/build.gradle
@@ -5,7 +5,7 @@ ext {
appName = 'Tachiyomi: MangaLib'
pkgNameSuffix = 'ru.libmanga'
extClass = '.LibManga'
- extVersionCode = 15
+ extVersionCode = 16
libVersion = '1.2'
}
diff --git a/src/ru/libmanga/src/eu/kanade/tachiyomi/extension/ru/libmanga/LibManga.kt b/src/ru/libmanga/src/eu/kanade/tachiyomi/extension/ru/libmanga/LibManga.kt
index 2f3104f18..9137eaddd 100644
--- a/src/ru/libmanga/src/eu/kanade/tachiyomi/extension/ru/libmanga/LibManga.kt
+++ b/src/ru/libmanga/src/eu/kanade/tachiyomi/extension/ru/libmanga/LibManga.kt
@@ -179,11 +179,20 @@ class LibManga : ConfigurableSource, HttpSource() {
override fun mangaDetailsParse(response: Response): SManga {
val document = response.asJsoup()
val manga = SManga.create()
+
if (document.html().contains("Манга удалена по просьбе правообладателей")) {
manga.status = SManga.LICENSED
return manga
}
+
val body = document.select("div.section__body").first()
+ val rawCategory = body.select(".info-list__row:has(strong:contains(Тип)) > span").text()
+ val category = when {
+ rawCategory == "Комикс западный" -> "комикс"
+ rawCategory.isNotBlank() -> rawCategory.toLowerCase()
+ else -> "манга"
+ }
+ val genres = body.select(".info-list__row:has(strong:contains(Жанры)) > a").text()
manga.title = document.select(".manga-title small").text().substringBefore("/").trim()
manga.thumbnail_url = body.select(".manga__cover").attr("src")
manga.author = body.select(".info-list__row:nth-child(2) > a").text()
@@ -197,7 +206,7 @@ class LibManga : ConfigurableSource, HttpSource() {
"завершен" -> SManga.COMPLETED
else -> SManga.UNKNOWN
}
- manga.genre = body.select(".info-list__row:has(strong:contains(Жанры)) > a").joinToString { it.text() }
+ manga.genre = genres.split(",").plusElement(category).joinToString { it.trim() }
manga.description = body.select(".info-desc__content").text()
return manga
}
diff --git a/src/ru/mangachan/build.gradle b/src/ru/mangachan/build.gradle
index cce1a4fd3..05e052037 100644
--- a/src/ru/mangachan/build.gradle
+++ b/src/ru/mangachan/build.gradle
@@ -5,7 +5,7 @@ ext {
appName = 'Tachiyomi: Mangachan'
pkgNameSuffix = 'ru.mangachan'
extClass = '.Mangachan'
- extVersionCode = 8
+ extVersionCode = 9
libVersion = '1.2'
}
diff --git a/src/ru/mangachan/src/eu/kanade/tachiyomi/extension/ru/mangachan/Mangachan.kt b/src/ru/mangachan/src/eu/kanade/tachiyomi/extension/ru/mangachan/Mangachan.kt
index 9163d06d1..5528bca7e 100644
--- a/src/ru/mangachan/src/eu/kanade/tachiyomi/extension/ru/mangachan/Mangachan.kt
+++ b/src/ru/mangachan/src/eu/kanade/tachiyomi/extension/ru/mangachan/Mangachan.kt
@@ -177,10 +177,15 @@ class Mangachan : ParsedHttpSource() {
val infoElement = document.select("table.mangatitle").first()
val descElement = document.select("div#description").first()
val imgElement = document.select("img#cover").first()
-
+ val rawCategory = infoElement.select("tr:eq(1) > td:eq(1)").text()
+ val category = if (rawCategory.isNotEmpty()) {
+ rawCategory.toLowerCase()
+ } else {
+ "манга"
+ }
val manga = SManga.create()
manga.author = infoElement.select("tr:eq(2) > td:eq(1)").text()
- manga.genre = infoElement.select("tr:eq(5) > td:eq(1)").text()
+ manga.genre = infoElement.select("tr:eq(5) > td:eq(1)").text().split(",").plusElement(category).joinToString { it.trim() }
manga.status = parseStatus(infoElement.select("tr:eq(4) > td:eq(1)").text())
manga.description = descElement.textNodes().first().text()
manga.thumbnail_url = imgElement.attr("src")
diff --git a/src/ru/mintmanga/build.gradle b/src/ru/mintmanga/build.gradle
index dc2ac7f87..3dbbf3c1b 100644
--- a/src/ru/mintmanga/build.gradle
+++ b/src/ru/mintmanga/build.gradle
@@ -5,7 +5,7 @@ ext {
appName = 'Tachiyomi: Mintmanga'
pkgNameSuffix = 'ru.mintmanga'
extClass = '.Mintmanga'
- extVersionCode = 21
+ extVersionCode = 22
libVersion = '1.2'
}
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 2275ed9c5..c40623ea1 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
@@ -98,11 +98,17 @@ class Mintmanga : ParsedHttpSource() {
override fun mangaDetailsParse(document: Document): SManga {
val infoElement = document.select("div.leftContent").first()
+ val rawCategory = infoElement.select("span.elem_category").text()
+ val category = if (rawCategory.isNotEmpty()) {
+ rawCategory.toLowerCase()
+ } else {
+ "манга"
+ }
val manga = SManga.create()
manga.author = infoElement.select("span.elem_author").first()?.text()
manga.artist = infoElement.select("span.elem_illustrator").first()?.text()
- manga.genre = infoElement.select("span.elem_genre").text().replace(" ,", ",")
+ manga.genre = infoElement.select("span.elem_genre").text().split(",").plusElement(category).joinToString { it.trim() }
manga.description = infoElement.select("div.manga-description").text()
manga.status = parseStatus(infoElement.html())
manga.thumbnail_url = infoElement.select("img").attr("data-full")
diff --git a/src/ru/readmanga/build.gradle b/src/ru/readmanga/build.gradle
index 8ea8baceb..bef815468 100644
--- a/src/ru/readmanga/build.gradle
+++ b/src/ru/readmanga/build.gradle
@@ -5,7 +5,7 @@ ext {
appName = 'Tachiyomi: Readmanga'
pkgNameSuffix = 'ru.readmanga'
extClass = '.Readmanga'
- extVersionCode = 18
+ extVersionCode = 19
libVersion = '1.2'
}
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 6f982eb60..0621b0b28 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
@@ -98,11 +98,17 @@ class Readmanga : ParsedHttpSource() {
override fun mangaDetailsParse(document: Document): SManga {
val infoElement = document.select("div.leftContent").first()
+ val rawCategory = infoElement.select("span.elem_category").text()
+ val category = if (rawCategory.isNotEmpty()) {
+ rawCategory.toLowerCase()
+ } else {
+ "манга"
+ }
val manga = SManga.create()
manga.author = infoElement.select("span.elem_author").first()?.text()
manga.artist = infoElement.select("span.elem_illustrator").first()?.text()
- manga.genre = infoElement.select("span.elem_genre").text().replace(" ,", ",")
+ manga.genre = infoElement.select("span.elem_genre").text().split(",").plusElement(category).joinToString { it.trim() }
manga.description = infoElement.select("div.manga-description").text()
manga.status = parseStatus(infoElement.html())
manga.thumbnail_url = infoElement.select("img").attr("data-full")