[RU]Сhan fix title and no supportsLatest (#11473)

* [RU]Сhan fix title and no supportsLatest

* hentai+yaoi
This commit is contained in:
e-shl 2022-04-15 19:43:07 +05:00 committed by GitHub
parent c8c48e8e67
commit 2c73d2c4b0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 26 additions and 46 deletions

View File

@ -6,7 +6,7 @@ ext {
extName = 'Henchan' extName = 'Henchan'
pkgNameSuffix = 'ru.henchan' pkgNameSuffix = 'ru.henchan'
extClass = '.Henchan' extClass = '.Henchan'
extVersionCode = 30 extVersionCode = 31
isNsfw = true isNsfw = true
} }

View File

@ -27,11 +27,11 @@ class Henchan : ParsedHttpSource() {
override val name = "Henchan" override val name = "Henchan"
override val baseUrl = "https://hentaichan.live" override val baseUrl = "https://x.hentaichan.live"
override val lang = "ru" override val lang = "ru"
override val supportsLatest = true override val supportsLatest = false
private val rateLimitInterceptor = RateLimitInterceptor(2) private val rateLimitInterceptor = RateLimitInterceptor(2)
@ -41,9 +41,6 @@ class Henchan : ParsedHttpSource() {
override fun popularMangaRequest(page: Int): Request = override fun popularMangaRequest(page: Int): Request =
GET("$baseUrl/mostfavorites&sort=manga?offset=${20 * (page - 1)}", headers) GET("$baseUrl/mostfavorites&sort=manga?offset=${20 * (page - 1)}", headers)
override fun latestUpdatesRequest(page: Int): Request =
GET("$baseUrl/manga/new?offset=${20 * (page - 1)}", headers)
override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
val url = if (query.isNotEmpty()) { val url = if (query.isNotEmpty()) {
@ -86,9 +83,12 @@ class Henchan : ParsedHttpSource() {
return GET(url, headers) return GET(url, headers)
} }
override fun popularMangaSelector() = ".content_row" override fun popularMangaSelector() = "div.content_row"
override fun latestUpdatesSelector() = popularMangaSelector() override fun latestUpdatesRequest(page: Int): Request = throw UnsupportedOperationException("Not used")
override fun latestUpdatesSelector() = throw UnsupportedOperationException("Not used")
override fun latestUpdatesFromElement(element: Element) = throw UnsupportedOperationException("Not used")
override fun latestUpdatesNextPageSelector() = throw UnsupportedOperationException("Not used")
override fun searchMangaSelector() = ".content_row:not(:has(div.item:containsOwn(Тип)))" override fun searchMangaSelector() = ".content_row:not(:has(div.item:containsOwn(Тип)))"
@ -103,24 +103,18 @@ class Henchan : ParsedHttpSource() {
override fun popularMangaFromElement(element: Element): SManga { override fun popularMangaFromElement(element: Element): SManga {
val manga = SManga.create() val manga = SManga.create()
manga.thumbnail_url = element.select("img").first().attr("src").getHQThumbnail() manga.thumbnail_url = element.select("img").first().attr("src").getHQThumbnail()
manga.title = element.attr("title")
val urlElem = element.select("h2 > a").first() element.select("h2 > a").first().let {
manga.setUrlWithoutDomain(urlElem.attr("href")) manga.setUrlWithoutDomain(it.attr("href"))
manga.title = urlElem.attr("title") }
return manga return manga
} }
override fun latestUpdatesFromElement(element: Element): SManga =
popularMangaFromElement(element)
override fun searchMangaFromElement(element: Element): SManga = override fun searchMangaFromElement(element: Element): SManga =
popularMangaFromElement(element) popularMangaFromElement(element)
override fun popularMangaNextPageSelector() = "#pagination > a:contains(Вперед)" override fun popularMangaNextPageSelector() = "#pagination > a:contains(Вперед)"
override fun latestUpdatesNextPageSelector() = popularMangaNextPageSelector()
override fun searchMangaNextPageSelector() = "#nextlink, ${popularMangaNextPageSelector()}" override fun searchMangaNextPageSelector() = "#nextlink, ${popularMangaNextPageSelector()}"
override fun mangaDetailsParse(document: Document): SManga { override fun mangaDetailsParse(document: Document): SManga {

View File

@ -5,7 +5,7 @@ ext {
extName = 'Mangachan' extName = 'Mangachan'
pkgNameSuffix = 'ru.mangachan' pkgNameSuffix = 'ru.mangachan'
extClass = '.Mangachan' extClass = '.Mangachan'
extVersionCode = 11 extVersionCode = 12
} }
dependencies { dependencies {

View File

@ -28,7 +28,7 @@ class Mangachan : ParsedHttpSource() {
override val lang = "ru" override val lang = "ru"
override val supportsLatest = true override val supportsLatest = false
private val rateLimitInterceptor = RateLimitInterceptor(2) private val rateLimitInterceptor = RateLimitInterceptor(2)
@ -109,29 +109,21 @@ class Mangachan : ParsedHttpSource() {
return GET(url, headers) return GET(url, headers)
} }
override fun latestUpdatesRequest(page: Int): Request = GET("$baseUrl/newestch?page=$page") override fun latestUpdatesRequest(page: Int): Request = throw UnsupportedOperationException("Not used")
override fun latestUpdatesSelector() = throw UnsupportedOperationException("Not used")
override fun latestUpdatesFromElement(element: Element) = throw UnsupportedOperationException("Not used")
override fun latestUpdatesNextPageSelector() = throw UnsupportedOperationException("Not used")
override fun popularMangaSelector() = "div.content_row" override fun popularMangaSelector() = "div.content_row"
override fun latestUpdatesSelector() = "ul.area_rightNews li"
override fun searchMangaSelector() = popularMangaSelector() override fun searchMangaSelector() = popularMangaSelector()
override fun popularMangaFromElement(element: Element): SManga { override fun popularMangaFromElement(element: Element): SManga {
val manga = SManga.create() val manga = SManga.create()
manga.thumbnail_url = element.select("div.manga_images img").first().attr("src") manga.thumbnail_url = element.select("div.manga_images img").first().attr("src")
manga.title = element.attr("title")
element.select("h2 > a").first().let { element.select("h2 > a").first().let {
manga.setUrlWithoutDomain(it.attr("href")) manga.setUrlWithoutDomain(it.attr("href"))
manga.title = it.attr("title")
}
return manga
}
override fun latestUpdatesFromElement(element: Element): SManga {
val manga = SManga.create()
element.select("a:nth-child(1)").first().let {
manga.setUrlWithoutDomain(it.attr("href"))
manga.title = it.attr("title")
} }
return manga return manga
} }
@ -140,8 +132,6 @@ class Mangachan : ParsedHttpSource() {
override fun popularMangaNextPageSelector() = "a:contains(Вперед)" override fun popularMangaNextPageSelector() = "a:contains(Вперед)"
override fun latestUpdatesNextPageSelector() = popularMangaNextPageSelector()
override fun searchMangaNextPageSelector() = "a:contains(Далее)" override fun searchMangaNextPageSelector() = "a:contains(Далее)"
private fun searchGenresNextPageSelector() = popularMangaNextPageSelector() private fun searchGenresNextPageSelector() = popularMangaNextPageSelector()

View File

@ -5,7 +5,7 @@ ext {
extName = 'Yaoichan' extName = 'Yaoichan'
pkgNameSuffix = 'ru.yaoichan' pkgNameSuffix = 'ru.yaoichan'
extClass = '.Yaoichan' extClass = '.Yaoichan'
extVersionCode = 2 extVersionCode = 3
isNsfw = true isNsfw = true
} }

View File

@ -24,7 +24,7 @@ class Yaoichan : ParsedHttpSource() {
override val lang = "ru" override val lang = "ru"
override val supportsLatest = true override val supportsLatest = false
private val rateLimitInterceptor = RateLimitInterceptor(2) private val rateLimitInterceptor = RateLimitInterceptor(2)
@ -34,9 +34,6 @@ class Yaoichan : ParsedHttpSource() {
override fun popularMangaRequest(page: Int): Request = override fun popularMangaRequest(page: Int): Request =
GET("$baseUrl/mostfavorites?offset=${20 * (page - 1)}", headers) GET("$baseUrl/mostfavorites?offset=${20 * (page - 1)}", headers)
override fun latestUpdatesRequest(page: Int): Request =
GET("$baseUrl/manga/new?offset=${20 * (page - 1)}", headers)
override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
val url = if (query.isNotEmpty()) { val url = if (query.isNotEmpty()) {
"$baseUrl/?do=search&subaction=search&story=$query&search_start=$page" "$baseUrl/?do=search&subaction=search&story=$query&search_start=$page"
@ -105,28 +102,27 @@ class Yaoichan : ParsedHttpSource() {
override fun popularMangaSelector() = "div.content_row" override fun popularMangaSelector() = "div.content_row"
override fun latestUpdatesSelector() = popularMangaSelector()
override fun searchMangaSelector() = popularMangaSelector() override fun searchMangaSelector() = popularMangaSelector()
override fun popularMangaFromElement(element: Element): SManga { override fun popularMangaFromElement(element: Element): SManga {
val manga = SManga.create() val manga = SManga.create()
manga.thumbnail_url = element.select("div.manga_images img").first().attr("src") manga.thumbnail_url = element.select("div.manga_images img").first().attr("src")
manga.title = element.attr("title")
element.select("h2 > a").first().let { element.select("h2 > a").first().let {
manga.setUrlWithoutDomain(it.attr("href")) manga.setUrlWithoutDomain(it.attr("href"))
manga.title = it.attr("title")
} }
return manga return manga
} }
override fun latestUpdatesFromElement(element: Element): SManga = popularMangaFromElement(element) override fun latestUpdatesRequest(page: Int): Request = throw UnsupportedOperationException("Not used")
override fun latestUpdatesSelector() = throw UnsupportedOperationException("Not used")
override fun latestUpdatesFromElement(element: Element) = throw UnsupportedOperationException("Not used")
override fun latestUpdatesNextPageSelector() = throw UnsupportedOperationException("Not used")
override fun searchMangaFromElement(element: Element): SManga = popularMangaFromElement(element) override fun searchMangaFromElement(element: Element): SManga = popularMangaFromElement(element)
override fun popularMangaNextPageSelector() = "a:contains(Вперед)" override fun popularMangaNextPageSelector() = "a:contains(Вперед)"
override fun latestUpdatesNextPageSelector() = popularMangaNextPageSelector()
override fun searchMangaNextPageSelector() = "a:contains(Далее), ${popularMangaNextPageSelector()}" override fun searchMangaNextPageSelector() = "a:contains(Далее), ${popularMangaNextPageSelector()}"
override fun mangaDetailsParse(document: Document): SManga { override fun mangaDetailsParse(document: Document): SManga {