[Mangaeden] Fix images italian version (#3464)
* Fix images Based on the english version * Update build.gradle
This commit is contained in:
parent
d12d370e51
commit
e57d4704ad
|
@ -5,7 +5,7 @@ ext {
|
|||
appName = 'Tachiyomi: Mangaeden'
|
||||
pkgNameSuffix = 'it.mangaeden'
|
||||
extClass = '.Mangaeden'
|
||||
extVersionCode = 5
|
||||
extVersionCode = 6
|
||||
libVersion = '1.2'
|
||||
}
|
||||
|
||||
|
|
|
@ -11,6 +11,7 @@ import java.text.ParseException
|
|||
import java.text.SimpleDateFormat
|
||||
import java.util.Calendar
|
||||
import java.util.Locale
|
||||
import okhttp3.Headers
|
||||
import okhttp3.HttpUrl
|
||||
import okhttp3.Request
|
||||
import org.jsoup.nodes.Document
|
||||
|
@ -26,6 +27,11 @@ class Mangaeden : ParsedHttpSource() {
|
|||
|
||||
override val supportsLatest = true
|
||||
|
||||
// so hcaptcha won't be triggered on images
|
||||
override fun headersBuilder(): Headers.Builder {
|
||||
return super.headersBuilder().add("Referer", baseUrl)
|
||||
}
|
||||
|
||||
override fun latestUpdatesRequest(page: Int): Request = GET("$baseUrl/it/it-directory/?order=3&page=$page", headers)
|
||||
|
||||
override fun latestUpdatesSelector() = searchMangaSelector()
|
||||
|
@ -34,7 +40,7 @@ class Mangaeden : ParsedHttpSource() {
|
|||
|
||||
override fun latestUpdatesNextPageSelector() = searchMangaNextPageSelector()
|
||||
|
||||
override fun popularMangaRequest(page: Int): Request = GET("$baseUrl/it/it-directory/?page=$page", headers)
|
||||
override fun popularMangaRequest(page: Int): Request = GET("$baseUrl/it/it-directory/?order=1&page=$page", headers)
|
||||
|
||||
override fun popularMangaSelector() = searchMangaSelector()
|
||||
|
||||
|
@ -55,7 +61,7 @@ class Mangaeden : ParsedHttpSource() {
|
|||
.map { it.id.toString() }
|
||||
.forEach { url.addQueryParameter("type", it) }
|
||||
is GenreList -> filter.state
|
||||
.filterNot { it.isIgnored() }
|
||||
.filter { !it.isIgnored() }
|
||||
.forEach { genre -> url.addQueryParameter(if (genre.isIncluded()) "categoriesInc" else "categoriesExcl", genre.id) }
|
||||
is TextField -> url.addQueryParameter(filter.key, filter.state)
|
||||
is OrderBy -> filter.state?.let {
|
||||
|
@ -68,13 +74,11 @@ class Mangaeden : ParsedHttpSource() {
|
|||
return GET(url.toString(), headers)
|
||||
}
|
||||
|
||||
override fun searchMangaSelector() = "table#mangaList > tbody > tr:has(td:gt(1))"
|
||||
override fun searchMangaSelector() = "table#mangaList tbody tr td:first-child a"
|
||||
|
||||
override fun searchMangaFromElement(element: Element) = SManga.create().apply {
|
||||
element.select("td > a").first()?.let {
|
||||
setUrlWithoutDomain(it.attr("href"))
|
||||
title = it.text()
|
||||
}
|
||||
setUrlWithoutDomain(element.attr("href"))
|
||||
title = element.text()
|
||||
}
|
||||
|
||||
override fun searchMangaNextPageSelector() = "a:has(span.next)"
|
||||
|
@ -87,8 +91,7 @@ class Mangaeden : ParsedHttpSource() {
|
|||
genre = infos.select("a[href^=/it/it-directory/?categoriesInc]").joinToString { it.text() }
|
||||
description = document.select("h2#mangaDescription").text()
|
||||
status = parseStatus(infos.select("h4:containsOwn(Stato)").first()?.nextSibling().toString())
|
||||
val img = infos.select("div.mangaImage2 > img").first()?.attr("src")
|
||||
if (!img.isNullOrBlank()) thumbnail_url = img.let { "https:$it" }
|
||||
thumbnail_url = document.select("div.mangaImage2 > img").attr("abs:src")
|
||||
}
|
||||
|
||||
private fun parseStatus(status: String) = when {
|
||||
|
@ -102,7 +105,7 @@ class Mangaeden : ParsedHttpSource() {
|
|||
override fun chapterFromElement(element: Element) = SChapter.create().apply {
|
||||
val a = element.select("a[href^=/it/it-manga/]").first()
|
||||
|
||||
setUrlWithoutDomain(a?.attr("href").orEmpty())
|
||||
setUrlWithoutDomain(a.attr("href"))
|
||||
name = a?.select("b")?.first()?.text().orEmpty()
|
||||
date_upload = element.select("td.chapterDate").first()?.text()?.let { parseChapterDate(it.trim()) } ?: 0L
|
||||
}
|
||||
|
@ -133,18 +136,18 @@ class Mangaeden : ParsedHttpSource() {
|
|||
}
|
||||
}
|
||||
|
||||
override fun pageListParse(document: Document): List<Page> = mutableListOf<Page>().apply {
|
||||
document.select("option[value^=/it/it-manga/]").forEach {
|
||||
add(Page(size, "$baseUrl${it.attr("value")}"))
|
||||
override fun pageListParse(document: Document): List<Page> {
|
||||
return document.select("select#pageSelect option").mapIndexed { i, element ->
|
||||
Page(i, element.attr("abs:value"))
|
||||
}
|
||||
}
|
||||
|
||||
override fun imageUrlParse(document: Document): String = document.select("a#nextA.next > img").first()?.attr("src").let { "https:$it" }
|
||||
override fun imageUrlParse(document: Document): String = document.select("a.next img").attr("abs:src")
|
||||
|
||||
private class NamedId(name: String, val id: Int) : Filter.CheckBox(name)
|
||||
private class Genre(name: String, val id: String) : Filter.TriState(name)
|
||||
private class TextField(name: String, val key: String) : Filter.Text(name)
|
||||
private class OrderBy : Filter.Sort("Ordina per", arrayOf("Titolo manga", "Visite", "Capitoli", "Ultimo capitolo"),
|
||||
private class OrderBy : Filter.Sort("Order by", arrayOf("Titolo manga", "Visite", "Capitoli", "Ultimo capitolo"),
|
||||
Selection(1, false))
|
||||
|
||||
private class StatusList(statuses: List<NamedId>) : Filter.Group<NamedId>("Stato", statuses)
|
||||
|
@ -175,6 +178,7 @@ class Mangaeden : ParsedHttpSource() {
|
|||
)
|
||||
|
||||
private fun genres() = listOf(
|
||||
|
||||
Genre("Avventura", "4e70ea8cc092255ef70073d3"),
|
||||
Genre("Azione", "4e70ea8cc092255ef70073c3"),
|
||||
Genre("Bara", "4e70ea90c092255ef70074b7"),
|
||||
|
|
Loading…
Reference in New Issue