Fix TruyenTranhLH, HocVienTruyenTranh, BlogTruyen small issues (#967)

Fix TruyenTranhLH, HocVienTruyenTranh, BlogTruyen small issues
This commit is contained in:
Nam Nguyễn 2019-03-25 00:05:06 +07:00 committed by Carlos
parent 2a8f90b4be
commit 3979c887b0
6 changed files with 23 additions and 18 deletions

View File

@ -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'
} }

View File

@ -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
} }

View File

@ -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'
} }

View File

@ -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
} }

View File

@ -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'
} }

View File

@ -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 ""