Fix TruyenTranhLH, HocVienTruyenTranh, BlogTruyen small issues (#967)
Fix TruyenTranhLH, HocVienTruyenTranh, BlogTruyen small issues
This commit is contained in:
parent
2a8f90b4be
commit
3979c887b0
@ -5,7 +5,7 @@ ext {
|
|||||||
appName = 'Tachiyomi: HocVienTruyenTranh'
|
appName = 'Tachiyomi: HocVienTruyenTranh'
|
||||||
pkgNameSuffix = 'vi.academyvn'
|
pkgNameSuffix = 'vi.academyvn'
|
||||||
extClass = '.HocVienTruyenTranh'
|
extClass = '.HocVienTruyenTranh'
|
||||||
extVersionCode = 5
|
extVersionCode = 6
|
||||||
libVersion = '1.2'
|
libVersion = '1.2'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,11 +27,11 @@ class HocVienTruyenTranh : ParsedHttpSource() {
|
|||||||
override fun latestUpdatesSelector() = "table.table.table-hover > tbody > tr"
|
override fun latestUpdatesSelector() = "table.table.table-hover > tbody > tr"
|
||||||
|
|
||||||
override fun popularMangaRequest(page: Int): Request {
|
override fun popularMangaRequest(page: Int): Request {
|
||||||
return GET("$baseUrl/manga/all?filter_type=view&page=$page", headers)
|
return GET("$baseUrl/truyen/all?filter_type=view&page=$page", headers)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun latestUpdatesRequest(page: Int): Request {
|
override fun latestUpdatesRequest(page: Int): Request {
|
||||||
return GET("$baseUrl/manga/all?filter_type=latest-chapter&page=$page", headers)
|
return GET("$baseUrl/truyen/all?filter_type=latest-chapter&page=$page", headers)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun popularMangaFromElement(element: Element): SManga {
|
override fun popularMangaFromElement(element: Element): SManga {
|
||||||
@ -131,9 +131,8 @@ class HocVienTruyenTranh : ParsedHttpSource() {
|
|||||||
|
|
||||||
override fun pageListParse(document: Document): List<Page> {
|
override fun pageListParse(document: Document): List<Page> {
|
||||||
val pages = mutableListOf<Page>()
|
val pages = mutableListOf<Page>()
|
||||||
var i = 0
|
|
||||||
document.select("div.manga-container > img").forEach {
|
document.select("div.manga-container > img").forEach {
|
||||||
pages.add(Page(i++, "", it.attr("src")))
|
pages.add(Page(pages.size, "", it.attr("src")))
|
||||||
}
|
}
|
||||||
return pages
|
return pages
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,7 @@ ext {
|
|||||||
appName = 'Tachiyomi: BlogTruyen'
|
appName = 'Tachiyomi: BlogTruyen'
|
||||||
pkgNameSuffix = 'vi.blogtruyen'
|
pkgNameSuffix = 'vi.blogtruyen'
|
||||||
extClass = '.BlogTruyen'
|
extClass = '.BlogTruyen'
|
||||||
extVersionCode = 3
|
extVersionCode = 4
|
||||||
libVersion = '1.2'
|
libVersion = '1.2'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -13,6 +13,7 @@ import okhttp3.Request
|
|||||||
import org.jsoup.nodes.Document
|
import org.jsoup.nodes.Document
|
||||||
import org.jsoup.nodes.Element
|
import org.jsoup.nodes.Element
|
||||||
import java.text.SimpleDateFormat
|
import java.text.SimpleDateFormat
|
||||||
|
import java.util.*
|
||||||
|
|
||||||
|
|
||||||
class BlogTruyen : ParsedHttpSource() {
|
class BlogTruyen : ParsedHttpSource() {
|
||||||
@ -53,7 +54,6 @@ class BlogTruyen : ParsedHttpSource() {
|
|||||||
element.select("a").first().let {
|
element.select("a").first().let {
|
||||||
manga.setUrlWithoutDomain(it.attr("href"))
|
manga.setUrlWithoutDomain(it.attr("href"))
|
||||||
manga.title = element.select("img").first().attr("alt").toString()
|
manga.title = element.select("img").first().attr("alt").toString()
|
||||||
//manga.thumbnail_url = element.select("img").first().attr("src").toString()
|
|
||||||
}
|
}
|
||||||
return manga
|
return manga
|
||||||
}
|
}
|
||||||
@ -107,7 +107,7 @@ class BlogTruyen : ParsedHttpSource() {
|
|||||||
|
|
||||||
val manga = SManga.create()
|
val manga = SManga.create()
|
||||||
manga.author = infoElement.select("p:contains(Tác giả) > a").first()?.text()
|
manga.author = infoElement.select("p:contains(Tác giả) > a").first()?.text()
|
||||||
manga.genre = infoElement.select("p:contains(Thể loại) > span.category > a").joinToString { it.text() }
|
manga.genre = infoElement.select("span.category a").joinToString { it.text() }
|
||||||
manga.description = document.select("div.detail > div.content").text()
|
manga.description = document.select("div.detail > div.content").text()
|
||||||
manga.status = infoElement.select("p:contains(Trạng thái) > span.color-red").first()?.text().orEmpty().let { parseStatus(it) }
|
manga.status = infoElement.select("p:contains(Trạng thái) > span.color-red").first()?.text().orEmpty().let { parseStatus(it) }
|
||||||
manga.thumbnail_url = document.select("div.thumbnail > img").first()?.attr("src")
|
manga.thumbnail_url = document.select("div.thumbnail > img").first()?.attr("src")
|
||||||
@ -129,7 +129,7 @@ class BlogTruyen : ParsedHttpSource() {
|
|||||||
chapter.setUrlWithoutDomain(urlElement.attr("href"))
|
chapter.setUrlWithoutDomain(urlElement.attr("href"))
|
||||||
chapter.name = urlElement.attr("title")
|
chapter.name = urlElement.attr("title")
|
||||||
chapter.date_upload = element.select("span.publishedDate").first()?.text()?.let {
|
chapter.date_upload = element.select("span.publishedDate").first()?.text()?.let {
|
||||||
SimpleDateFormat("dd/MM/yyyy HH:mm").parse(it).time
|
SimpleDateFormat("dd/MM/yyyy HH:mm", Locale.ENGLISH).parse(it).time
|
||||||
} ?: 0
|
} ?: 0
|
||||||
return chapter
|
return chapter
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,7 @@ ext {
|
|||||||
appName = 'Tachiyomi: TruyenTranhLH'
|
appName = 'Tachiyomi: TruyenTranhLH'
|
||||||
pkgNameSuffix = 'vi.truyentranhlh'
|
pkgNameSuffix = 'vi.truyentranhlh'
|
||||||
extClass = '.TruyenTranhLH'
|
extClass = '.TruyenTranhLH'
|
||||||
extVersionCode = 5
|
extVersionCode = 6
|
||||||
libVersion = '1.2'
|
libVersion = '1.2'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,6 +6,7 @@ import eu.kanade.tachiyomi.network.GET
|
|||||||
import eu.kanade.tachiyomi.source.model.*
|
import eu.kanade.tachiyomi.source.model.*
|
||||||
import eu.kanade.tachiyomi.source.online.HttpSource
|
import eu.kanade.tachiyomi.source.online.HttpSource
|
||||||
import eu.kanade.tachiyomi.util.asJsoup
|
import eu.kanade.tachiyomi.util.asJsoup
|
||||||
|
import okhttp3.Headers
|
||||||
import okhttp3.OkHttpClient
|
import okhttp3.OkHttpClient
|
||||||
import okhttp3.Request
|
import okhttp3.Request
|
||||||
import okhttp3.Response
|
import okhttp3.Response
|
||||||
@ -116,7 +117,12 @@ class TruyenTranhLH : HttpSource() {
|
|||||||
manga.genre = infoElement.select("a.btn.btn-xs.btn-danger").joinToString { it.text() }
|
manga.genre = infoElement.select("a.btn.btn-xs.btn-danger").joinToString { it.text() }
|
||||||
manga.description = document.select("h3:contains(Sơ lược) + p").text()
|
manga.description = document.select("h3:contains(Sơ lược) + p").text()
|
||||||
manga.status = infoElement.select("a.btn.btn-xs.btn-success").last()?.text().orEmpty().let { parseStatus(it) }
|
manga.status = infoElement.select("a.btn.btn-xs.btn-success").last()?.text().orEmpty().let { parseStatus(it) }
|
||||||
manga.thumbnail_url = document.select("img.thumbnail").first()?.attr("src")
|
val imgUrl = document.select("img.thumbnail").first()?.attr("src")
|
||||||
|
if (imgUrl!!.startsWith("app/")) {
|
||||||
|
manga.thumbnail_url = "$baseUrl/$imgUrl"
|
||||||
|
} else {
|
||||||
|
manga.thumbnail_url = imgUrl
|
||||||
|
}
|
||||||
return manga
|
return manga
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -177,18 +183,18 @@ class TruyenTranhLH : HttpSource() {
|
|||||||
override fun pageListParse(response: Response): List<Page> {
|
override fun pageListParse(response: Response): List<Page> {
|
||||||
val document = response.asJsoup()
|
val document = response.asJsoup()
|
||||||
val pages = mutableListOf<Page>()
|
val pages = mutableListOf<Page>()
|
||||||
var i = 0
|
|
||||||
document.select("div.chapter-content > img").forEach {
|
document.select("div.chapter-content > img").forEach {
|
||||||
var url = it.attr("src")
|
pages.add(Page(pages.size, "", it.attr("src")))
|
||||||
if (StringUtil.isBlank(url)) {
|
|
||||||
url = it.attr("data-original")
|
|
||||||
}
|
|
||||||
pages.add(Page(i++, "", url))
|
|
||||||
}
|
}
|
||||||
return pages
|
return pages
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun imageUrlRequest(page: Page) = GET(page.url)
|
override fun imageRequest(page: Page): Request {
|
||||||
|
val imgHeader = Headers.Builder().apply {
|
||||||
|
add("Referer", baseUrl)
|
||||||
|
}.build()
|
||||||
|
return GET(page.imageUrl!!, imgHeader)
|
||||||
|
}
|
||||||
|
|
||||||
override fun imageUrlParse(response: Response): String {
|
override fun imageUrlParse(response: Response): String {
|
||||||
return ""
|
return ""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user