[RU] MangaClub: Update status to extensions-lib 1.3 (#12129)

* [RU] MangaClub: Update status to extensions-lib 1.3

* [RU] MangaClub: Fix statuses

Co-authored-by: RomanRozhenkov <Rozhenkov20@gmail.com>
This commit is contained in:
Román 2022-06-09 19:24:04 +01:00 committed by GitHub
parent 256b11597f
commit ca32efdfa6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 9 deletions

View File

@ -5,7 +5,7 @@ ext {
extName = 'MangaClub' extName = 'MangaClub'
pkgNameSuffix = 'ru.mangaclub' pkgNameSuffix = 'ru.mangaclub'
extClass = '.MangaClub' extClass = '.MangaClub'
extVersionCode = 10 extVersionCode = 11
} }
apply from: "$rootDir/common.gradle" apply from: "$rootDir/common.gradle"

View File

@ -18,14 +18,14 @@ import java.util.Locale
class MangaClub : ParsedHttpSource() { class MangaClub : ParsedHttpSource() {
// Info /** Info **/
override val name: String = "MangaClub" override val name: String = "MangaClub"
override val baseUrl: String = "https://mangaclub.ru" override val baseUrl: String = "https://mangaclub.ru"
override val lang: String = "ru" override val lang: String = "ru"
override val supportsLatest: Boolean = true override val supportsLatest: Boolean = true
override val client: OkHttpClient = network.cloudflareClient override val client: OkHttpClient = network.cloudflareClient
// Popular /** Popular **/
override fun popularMangaRequest(page: Int): Request = GET("$baseUrl/f/sort=rating/order=desc/page/$page/", headers) override fun popularMangaRequest(page: Int): Request = GET("$baseUrl/f/sort=rating/order=desc/page/$page/", headers)
override fun popularMangaNextPageSelector(): String = "div.pagination-list i.icon-right-open" override fun popularMangaNextPageSelector(): String = "div.pagination-list i.icon-right-open"
override fun popularMangaSelector(): String = "div.shortstory" override fun popularMangaSelector(): String = "div.shortstory"
@ -37,13 +37,13 @@ class MangaClub : ParsedHttpSource() {
} }
} }
// Latest /** Latest **/
override fun latestUpdatesRequest(page: Int): Request = GET("$baseUrl/page/$page/", headers) override fun latestUpdatesRequest(page: Int): Request = GET("$baseUrl/page/$page/", headers)
override fun latestUpdatesNextPageSelector(): String = popularMangaNextPageSelector() override fun latestUpdatesNextPageSelector(): String = popularMangaNextPageSelector()
override fun latestUpdatesSelector(): String = popularMangaSelector() override fun latestUpdatesSelector(): String = popularMangaSelector()
override fun latestUpdatesFromElement(element: Element): SManga = popularMangaFromElement(element) override fun latestUpdatesFromElement(element: Element): SManga = popularMangaFromElement(element)
// Search /** Search **/
override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
var url = baseUrl var url = baseUrl
if (query.isNotEmpty()) { if (query.isNotEmpty()) {
@ -90,7 +90,7 @@ class MangaClub : ParsedHttpSource() {
override fun searchMangaSelector(): String = popularMangaSelector() override fun searchMangaSelector(): String = popularMangaSelector()
override fun searchMangaFromElement(element: Element): SManga = popularMangaFromElement(element) override fun searchMangaFromElement(element: Element): SManga = popularMangaFromElement(element)
// Details /** Details **/
override fun mangaDetailsParse(document: Document): SManga = SManga.create().apply { override fun mangaDetailsParse(document: Document): SManga = SManga.create().apply {
val licensedStatus = document.select("div.fullstory").text().contains("Данное произведение лицензировано на территории РФ. Главы удалены.") val licensedStatus = document.select("div.fullstory").text().contains("Данное произведение лицензировано на территории РФ. Главы удалены.")
thumbnail_url = document.select("div.image img").attr("abs:src") thumbnail_url = document.select("div.image img").attr("abs:src")
@ -100,6 +100,7 @@ class MangaClub : ParsedHttpSource() {
status = when (document.select("div.info a[href*=status_translation]").text().trim()) { status = when (document.select("div.info a[href*=status_translation]").text().trim()) {
"Продолжается" -> if (licensedStatus) SManga.LICENSED else SManga.ONGOING "Продолжается" -> if (licensedStatus) SManga.LICENSED else SManga.ONGOING
"Завершен" -> if (licensedStatus) SManga.LICENSED else SManga.COMPLETED "Завершен" -> if (licensedStatus) SManga.LICENSED else SManga.COMPLETED
"Заморожено/Заброшено" -> if (licensedStatus) SManga.LICENSED else SManga.ON_HIATUS
else -> SManga.UNKNOWN else -> SManga.UNKNOWN
} }
description = "Читайте описание через WebView" description = "Читайте описание через WebView"
@ -108,7 +109,7 @@ class MangaClub : ParsedHttpSource() {
} }
} }
// Chapters /** Chapters **/
private val dateParse = SimpleDateFormat("dd.MM.yyyy", Locale.ROOT) private val dateParse = SimpleDateFormat("dd.MM.yyyy", Locale.ROOT)
override fun chapterListSelector(): String = "div.chapters div.chapter-item" override fun chapterListSelector(): String = "div.chapters div.chapter-item"
override fun chapterFromElement(element: Element): SChapter = SChapter.create().apply { override fun chapterFromElement(element: Element): SChapter = SChapter.create().apply {
@ -119,7 +120,7 @@ class MangaClub : ParsedHttpSource() {
setUrlWithoutDomain(chapterLink.attr("abs:href")) setUrlWithoutDomain(chapterLink.attr("abs:href"))
} }
// Pages /** Pages **/
override fun pageListParse(document: Document): List<Page> = mutableListOf<Page>().apply { override fun pageListParse(document: Document): List<Page> = mutableListOf<Page>().apply {
document.select("div.manga-lines-page a").forEach { document.select("div.manga-lines-page a").forEach {
add(Page(it.attr("data-p").toInt(), "", "${baseUrl.replace("//", "//img.")}/${it.attr("data-i")}")) add(Page(it.attr("data-p").toInt(), "", "${baseUrl.replace("//", "//img.")}/${it.attr("data-i")}"))
@ -127,7 +128,7 @@ class MangaClub : ParsedHttpSource() {
} }
override fun imageUrlParse(document: Document): String = "" override fun imageUrlParse(document: Document): String = ""
// Filters /** Filters **/
private class GenreList(genres: List<Genre>) : Filter.Group<Genre>("Жанры", genres) private class GenreList(genres: List<Genre>) : Filter.Group<Genre>("Жанры", genres)
private class Genre(name: String, val id: String) : Filter.CheckBox(name) private class Genre(name: String, val id: String) : Filter.CheckBox(name)
private class CategoryList(categories: List<Category>) : Filter.Group<Category>("Категория", categories) private class CategoryList(categories: List<Category>) : Filter.Group<Category>("Категория", categories)