diff --git a/src/ru/desu/build.gradle b/src/ru/desu/build.gradle index 4d78fd482..26f3d710e 100644 --- a/src/ru/desu/build.gradle +++ b/src/ru/desu/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'Desu' pkgNameSuffix = 'ru.desu' extClass = '.Desu' - extVersionCode = 9 + extVersionCode = 10 libVersion = '1.2' } diff --git a/src/ru/desu/src/eu/kanade/tachiyomi/extension/ru/desu/Desu.kt b/src/ru/desu/src/eu/kanade/tachiyomi/extension/ru/desu/Desu.kt index 408726fac..b24a27b14 100644 --- a/src/ru/desu/src/eu/kanade/tachiyomi/extension/ru/desu/Desu.kt +++ b/src/ru/desu/src/eu/kanade/tachiyomi/extension/ru/desu/Desu.kt @@ -64,6 +64,22 @@ class Desu : HttpSource() { ratingValue > 0.5 -> "✬☆☆☆☆" else -> "☆☆☆☆☆" } + val rawAgeValue = obj.getString("adult") + val rawAgeStop = when (rawAgeValue) { + "1" -> "18+" + else -> "0+" + } + + val rawTypeValue = obj.getString("kind") + val rawTypeStr = when (rawTypeValue) { + "manga" -> "Манга" + "manhwa" -> "Манхва" + "manhua" -> "Маньхуа" + "comics" -> "Комикс" + "one_shot" -> "Ваншот" + else -> "Манга" + } + var altName = "" if (obj.getString("synonyms").isNotEmpty() && obj.getString("synonyms") != "null") { altName = "Альтернативные названия:\n" + obj.getString("synonyms").replace("|", " / ") + "\n\n" @@ -75,9 +91,9 @@ class Desu : HttpSource() { for (i in 0 until jsonArray.length()) { genreList.add(jsonArray.getJSONObject(i).getString("russian")) } - genreList.joinToString() + genreList.plusElement(rawTypeStr).plusElement(rawAgeStop).joinToString() } else { - obj.getString("genres") + obj.getString("genres") + ", " + rawTypeStr + ", " + rawAgeStop } status = when (obj.getString("status")) { "ongoing" -> SManga.ONGOING diff --git a/src/ru/libmanga/build.gradle b/src/ru/libmanga/build.gradle index d553effee..c5456c20d 100644 --- a/src/ru/libmanga/build.gradle +++ b/src/ru/libmanga/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'MangaLib' pkgNameSuffix = 'ru.libmanga' extClass = '.LibManga' - extVersionCode = 49 + extVersionCode = 50 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 f2e5ab899..e54fd51c5 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 @@ -170,12 +170,15 @@ class LibManga : ConfigurableSource, HttpSource() { val body = document.select("div.media-info-list").first() val rawCategory = body.select("div.media-info-list__title:contains(Тип) + div").text() - val category = when { rawCategory == "Комикс западный" -> "комикс" rawCategory.isNotBlank() -> rawCategory.toLowerCase(Locale.ROOT) else -> "манга" } + var rawAgeStop = body.select("div.media-info-list__title:contains(Возрастной рейтинг) + div").text() + if (rawAgeStop.isEmpty()) { + rawAgeStop = "0+" + } val ratingValue = document.select(".media-rating.media-rating_lg div.media-rating__value").text().toFloat() * 2 val ratingVotes = document.select(".media-rating.media-rating_lg div.media-rating__votes").text() @@ -206,7 +209,7 @@ class LibManga : ConfigurableSource, HttpSource() { "завершен" -> SManga.COMPLETED else -> SManga.UNKNOWN } - manga.genre = genres.plusElement(category).joinToString { it.trim() } + manga.genre = genres.plusElement(category).plusElement(rawAgeStop).joinToString { it.trim() } manga.description = document.select(".media-name__main").text() + "\n" + ratingStar + " " + ratingValue + " (голосов: " + ratingVotes + ")" + "\nАльтернативные названия:\n" + document.select(".media-info-list__item_alt-names .media-info-list__value div").map { it.text() }.joinToString(" / ") + "\n\n" + document.select(".media-description__text").text() return manga } diff --git a/src/ru/remanga/build.gradle b/src/ru/remanga/build.gradle index c0384c456..d225704df 100644 --- a/src/ru/remanga/build.gradle +++ b/src/ru/remanga/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'Remanga' pkgNameSuffix = 'ru.remanga' extClass = '.Remanga' - extVersionCode = 26 + extVersionCode = 27 libVersion = '1.2' } diff --git a/src/ru/remanga/src/eu/kanade/tachiyomi/extension/ru/remanga/Remanga.kt b/src/ru/remanga/src/eu/kanade/tachiyomi/extension/ru/remanga/Remanga.kt index c5381e703..f05685cc2 100644 --- a/src/ru/remanga/src/eu/kanade/tachiyomi/extension/ru/remanga/Remanga.kt +++ b/src/ru/remanga/src/eu/kanade/tachiyomi/extension/ru/remanga/Remanga.kt @@ -205,9 +205,15 @@ class Remanga : ConfigurableSource, HttpSource() { else -> type } } + private fun parseAge(age_limit: Int): String { + return when (age_limit) { + 2 -> "18+" + 1 -> "16+" + else -> "0+" + } + } private fun MangaDetDto.toSManga(): SManga { - val ratingValue = avg_rating.toFloat() val ratingStar = when { ratingValue > 9.5 -> "★★★★★" @@ -229,7 +235,7 @@ class Remanga : ConfigurableSource, HttpSource() { url = "/api/titles/$dir/" thumbnail_url = "$baseUrl/${img.high}" this.description = rus_name + "\n" + ratingStar + " " + ratingValue + " (голосов: " + count_rating + ")" + "\nАльтернативные названия:\n" + another_name + "\n\n" + Jsoup.parse(o.description).text() - genre = (genres + parseType(type)).joinToString { it.name } + genre = (genres + parseType(type)).joinToString { it.name } + ", " + parseAge(age_limit) status = parseStatus(o.status.id) } } diff --git a/src/ru/remanga/src/eu/kanade/tachiyomi/extension/ru/remanga/dto/Dto.kt b/src/ru/remanga/src/eu/kanade/tachiyomi/extension/ru/remanga/dto/Dto.kt index db42658e4..08d59147b 100644 --- a/src/ru/remanga/src/eu/kanade/tachiyomi/extension/ru/remanga/dto/Dto.kt +++ b/src/ru/remanga/src/eu/kanade/tachiyomi/extension/ru/remanga/dto/Dto.kt @@ -43,7 +43,8 @@ data class MangaDetDto( val branches: List, val status: StatusDto, val avg_rating: String, - val count_rating: Int + val count_rating: Int, + val age_limit: Int ) data class PropsDto(