Lint fixes
This commit is contained in:
@ -7,13 +7,13 @@ import eu.kanade.tachiyomi.source.model.Page
|
||||
import eu.kanade.tachiyomi.source.model.SChapter
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import eu.kanade.tachiyomi.source.online.ParsedHttpSource
|
||||
import java.util.Calendar
|
||||
import okhttp3.Headers
|
||||
import okhttp3.HttpUrl
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Request
|
||||
import org.jsoup.nodes.Document
|
||||
import org.jsoup.nodes.Element
|
||||
import java.util.Calendar
|
||||
|
||||
class HocVienTruyenTranh : ParsedHttpSource() {
|
||||
|
||||
|
@ -9,6 +9,8 @@ import eu.kanade.tachiyomi.source.model.SChapter
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import eu.kanade.tachiyomi.source.online.ParsedHttpSource
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
import okhttp3.Headers
|
||||
import okhttp3.HttpUrl
|
||||
import okhttp3.OkHttpClient
|
||||
@ -16,8 +18,6 @@ import okhttp3.Request
|
||||
import okhttp3.Response
|
||||
import org.jsoup.nodes.Document
|
||||
import org.jsoup.nodes.Element
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
class BlogTruyen : ParsedHttpSource() {
|
||||
|
||||
@ -82,7 +82,7 @@ class BlogTruyen : ParsedHttpSource() {
|
||||
|
||||
override fun popularMangaNextPageSelector() = "div.paging:last-child:not(.current_page)"
|
||||
|
||||
override fun latestUpdatesNextPageSelector() = "ul.pagination.paging.list-unstyled > li:nth-last-child(2) > a"
|
||||
override fun latestUpdatesNextPageSelector() = "ul.pagination.paging.list-unstyled > li:nth-last-child(2) > a"
|
||||
|
||||
override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
|
||||
var temp = "$baseUrl/timkiem/nangcao/1/0"
|
||||
@ -175,7 +175,6 @@ class BlogTruyen : ParsedHttpSource() {
|
||||
|
||||
override fun imageUrlParse(document: Document) = ""
|
||||
|
||||
|
||||
private class Status : Filter.Select<String>("Status", arrayOf("Sao cũng được", "Đang tiến hành", "Đã hoàn thành", "Tạm ngưng"))
|
||||
private class Author : Filter.Text("Tác giả")
|
||||
private class Genre(name: String, val id: Int) : Filter.TriState(name)
|
||||
|
@ -1,18 +1,21 @@
|
||||
package eu.kanade.tachiyomi.extension.vi.hentaivn
|
||||
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.source.model.*
|
||||
import eu.kanade.tachiyomi.source.model.Filter
|
||||
import eu.kanade.tachiyomi.source.model.FilterList
|
||||
import eu.kanade.tachiyomi.source.model.Page
|
||||
import eu.kanade.tachiyomi.source.model.SChapter
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import eu.kanade.tachiyomi.source.online.ParsedHttpSource
|
||||
import java.text.ParseException
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
import okhttp3.Headers
|
||||
import okhttp3.HttpUrl
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Request
|
||||
import org.jsoup.nodes.Document
|
||||
import org.jsoup.nodes.Element
|
||||
import java.text.ParseException
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
|
||||
class HentaiVN : ParsedHttpSource() {
|
||||
|
||||
@ -358,5 +361,4 @@ class HentaiVN : ParsedHttpSource() {
|
||||
TransGroup("Depressed Lolicons Squad - DLS", "52"),
|
||||
TransGroup("Heaven Of The Fuck", "53")
|
||||
)
|
||||
|
||||
}
|
||||
|
@ -7,12 +7,12 @@ import eu.kanade.tachiyomi.source.model.Page
|
||||
import eu.kanade.tachiyomi.source.model.SChapter
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import eu.kanade.tachiyomi.source.online.ParsedHttpSource
|
||||
import java.text.SimpleDateFormat
|
||||
import okhttp3.HttpUrl
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Request
|
||||
import org.jsoup.nodes.Document
|
||||
import org.jsoup.nodes.Element
|
||||
import java.text.SimpleDateFormat
|
||||
|
||||
class IuTruyenTranh : ParsedHttpSource() {
|
||||
|
||||
|
@ -6,13 +6,13 @@ import eu.kanade.tachiyomi.source.model.Page
|
||||
import eu.kanade.tachiyomi.source.model.SChapter
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import eu.kanade.tachiyomi.source.online.ParsedHttpSource
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
import okhttp3.Request
|
||||
import okhttp3.Response
|
||||
import org.json.JSONObject
|
||||
import org.jsoup.nodes.Document
|
||||
import org.jsoup.nodes.Element
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.*
|
||||
|
||||
class MeDocTruyenTranh : ParsedHttpSource() {
|
||||
|
||||
@ -51,7 +51,6 @@ class MeDocTruyenTranh : ParsedHttpSource() {
|
||||
return manga
|
||||
}
|
||||
|
||||
|
||||
override fun searchMangaFromElement(element: Element): SManga {
|
||||
val manga = SManga.create()
|
||||
val jsonData = element.ownerDocument().select("#__NEXT_DATA__").first()!!.data()
|
||||
@ -80,7 +79,7 @@ class MeDocTruyenTranh : ParsedHttpSource() {
|
||||
manga.title = mangaDetail.getString("title")
|
||||
manga.author = mangaDetail.getJSONArray("author_list").getString(0)
|
||||
val genres = mutableListOf<String>()
|
||||
for( i in 0 until mangaDetail.getJSONArray("category_list").length()){
|
||||
for (i in 0 until mangaDetail.getJSONArray("category_list").length()) {
|
||||
genres.add(mangaDetail.getJSONArray("category_list").getString(i))
|
||||
}
|
||||
manga.genre = genres.joinToString(", ")
|
||||
@ -127,7 +126,6 @@ class MeDocTruyenTranh : ParsedHttpSource() {
|
||||
return chapters.asReversed()
|
||||
}
|
||||
|
||||
|
||||
private fun parseChapterDate(date: String): Long {
|
||||
// 2019-05-09T07:09:58
|
||||
val dateFormat = SimpleDateFormat(
|
||||
@ -136,7 +134,6 @@ class MeDocTruyenTranh : ParsedHttpSource() {
|
||||
return dateObject.time
|
||||
}
|
||||
|
||||
|
||||
override fun pageListParse(document: Document): List<Page> {
|
||||
val pages = mutableListOf<Page>()
|
||||
val jsonData = JSONObject(document.select("#__NEXT_DATA__").first()?.data() ?: "{}")
|
||||
|
@ -2,18 +2,21 @@ package eu.kanade.tachiyomi.extension.vi.nettruyen
|
||||
|
||||
import android.util.Log
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.source.model.*
|
||||
import eu.kanade.tachiyomi.source.model.Filter
|
||||
import eu.kanade.tachiyomi.source.model.FilterList
|
||||
import eu.kanade.tachiyomi.source.model.Page
|
||||
import eu.kanade.tachiyomi.source.model.SChapter
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import eu.kanade.tachiyomi.source.online.ParsedHttpSource
|
||||
import java.util.Calendar
|
||||
import javax.crypto.Cipher
|
||||
import javax.crypto.spec.IvParameterSpec
|
||||
import javax.crypto.spec.SecretKeySpec
|
||||
import okhttp3.HttpUrl
|
||||
import okhttp3.Request
|
||||
import org.json.JSONArray
|
||||
import org.jsoup.nodes.Document
|
||||
import org.jsoup.nodes.Element
|
||||
import java.util.*
|
||||
import javax.crypto.Cipher
|
||||
import javax.crypto.spec.SecretKeySpec
|
||||
import javax.crypto.spec.IvParameterSpec
|
||||
|
||||
|
||||
class NetTruyen : ParsedHttpSource() {
|
||||
|
||||
@ -26,8 +29,8 @@ class NetTruyen : ParsedHttpSource() {
|
||||
override val supportsLatest = true
|
||||
|
||||
override val client = network.cloudflareClient.newBuilder().addInterceptor {
|
||||
//Intercept any image requests and add a referer to them
|
||||
//Enables bandwidth stealing feature
|
||||
// Intercept any image requests and add a referer to them
|
||||
// Enables bandwidth stealing feature
|
||||
val request =
|
||||
if (it.request().url().host().contains("cloud"))
|
||||
it.request().newBuilder().addHeader("Referer", baseUrl).build()
|
||||
@ -166,8 +169,8 @@ class NetTruyen : ParsedHttpSource() {
|
||||
val ivParameterSpec = IvParameterSpec(keyBytes)
|
||||
cipher.init(Cipher.DECRYPT_MODE, secretKeySpec, ivParameterSpec)
|
||||
return String(cipher.doFinal(android.util.Base64.decode(strToDecrypt, android.util.Base64.DEFAULT)))
|
||||
}catch (e: Exception){
|
||||
Log.e("Decrypt", "Has error $e")
|
||||
} catch (e: Exception) {
|
||||
Log.e("Decrypt", "Has error $e")
|
||||
}
|
||||
return "https://www.upsieutoc.com/images/2019/09/20/1c1b688884689165b.png"
|
||||
}
|
||||
@ -177,7 +180,7 @@ class NetTruyen : ParsedHttpSource() {
|
||||
val scriptTag = document.select("#ctl00_divCenter > div > .container script").html()
|
||||
val keyIndex = scriptTag.indexOf("var k=") + 5
|
||||
val listIndex = scriptTag.indexOf("var l=") + 5
|
||||
val key = scriptTag.substring(keyIndex + 2, scriptTag.indexOf('"', keyIndex+2))
|
||||
val key = scriptTag.substring(keyIndex + 2, scriptTag.indexOf('"', keyIndex + 2))
|
||||
val list = scriptTag.substring(listIndex + 1, scriptTag.indexOf(";", listIndex))
|
||||
val jsonList = JSONArray(list)
|
||||
|
||||
@ -271,4 +274,4 @@ class NetTruyen : ParsedHttpSource() {
|
||||
"webtoon" to "Webtoon",
|
||||
"xuyen-khong" to "Xuyên Không"
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -1,16 +1,18 @@
|
||||
package eu.kanade.tachiyomi.extension.vi.ngonphong
|
||||
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.source.model.*
|
||||
import eu.kanade.tachiyomi.source.model.FilterList
|
||||
import eu.kanade.tachiyomi.source.model.Page
|
||||
import eu.kanade.tachiyomi.source.model.SChapter
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import eu.kanade.tachiyomi.source.online.ParsedHttpSource
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
import okhttp3.Headers
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Request
|
||||
import org.jsoup.nodes.Document
|
||||
import org.jsoup.nodes.Element
|
||||
import java.lang.Exception
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
class NgonPhong : ParsedHttpSource() {
|
||||
|
||||
|
@ -2,16 +2,19 @@ package eu.kanade.tachiyomi.extension.vi.truyenqq
|
||||
|
||||
import android.net.Uri
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.source.model.*
|
||||
import eu.kanade.tachiyomi.source.model.FilterList
|
||||
import eu.kanade.tachiyomi.source.model.Page
|
||||
import eu.kanade.tachiyomi.source.model.SChapter
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import eu.kanade.tachiyomi.source.online.ParsedHttpSource
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
import java.util.concurrent.TimeUnit
|
||||
import okhttp3.Headers
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Request
|
||||
import java.util.*
|
||||
import org.jsoup.nodes.Document
|
||||
import org.jsoup.nodes.Element
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
class TruyenQQ : ParsedHttpSource() {
|
||||
override val name: String = "TruyenQQ"
|
||||
@ -41,7 +44,7 @@ class TruyenQQ : ParsedHttpSource() {
|
||||
title = element.select(".title-book a").text()
|
||||
}
|
||||
|
||||
//Latest
|
||||
// Latest
|
||||
override fun latestUpdatesRequest(page: Int): Request {
|
||||
return GET("$baseUrl/truyen-moi-cap-nhat/trang-$page.html", headers)
|
||||
}
|
||||
@ -49,19 +52,19 @@ class TruyenQQ : ParsedHttpSource() {
|
||||
override fun latestUpdatesSelector(): String = popularMangaSelector()
|
||||
override fun latestUpdatesFromElement(element: Element): SManga = popularMangaFromElement(element)
|
||||
|
||||
//Search
|
||||
// Search
|
||||
override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
|
||||
val uri = Uri.parse("$baseUrl/tim-kiem/trang-$page.html").buildUpon()
|
||||
.appendQueryParameter("q",query)
|
||||
.appendQueryParameter("q", query)
|
||||
return GET(uri.toString(), headers)
|
||||
|
||||
//Todo Filters
|
||||
// Todo Filters
|
||||
}
|
||||
override fun searchMangaNextPageSelector(): String? = popularMangaNextPageSelector()
|
||||
override fun searchMangaSelector(): String = popularMangaSelector()
|
||||
override fun searchMangaFromElement(element: Element): SManga = popularMangaFromElement(element)
|
||||
|
||||
//Details
|
||||
// Details
|
||||
|
||||
override fun mangaDetailsParse(document: Document): SManga = SManga.create().apply {
|
||||
title = document.select("h1").text()
|
||||
@ -73,12 +76,12 @@ class TruyenQQ : ParsedHttpSource() {
|
||||
thumbnail_url = document.select("div.left img").attr("src")
|
||||
status = when (document.select(".info-item:eq(2)").text().substringAfter(":").trim()) {
|
||||
"Đang Cập Nhật" -> SManga.ONGOING
|
||||
//"" -> SManga.COMPLETED
|
||||
// "" -> SManga.COMPLETED
|
||||
else -> SManga.UNKNOWN
|
||||
}
|
||||
}
|
||||
|
||||
//Chapters
|
||||
// Chapters
|
||||
|
||||
override fun chapterListSelector(): String = "div.works-chapter-list div.works-chapter-item"
|
||||
override fun chapterFromElement(element: Element): SChapter = SChapter.create().apply {
|
||||
@ -88,18 +91,18 @@ class TruyenQQ : ParsedHttpSource() {
|
||||
chapter_number = name.substringAfter("Chương").trim().toFloat()
|
||||
}
|
||||
private fun parseDate(date: String): Long {
|
||||
return SimpleDateFormat("dd/MM/yyyy", Locale.US ).parse(date).time
|
||||
return SimpleDateFormat("dd/MM/yyyy", Locale.US).parse(date).time
|
||||
}
|
||||
|
||||
//Pages
|
||||
// Pages
|
||||
|
||||
override fun pageListParse(document: Document): List<Page> = mutableListOf<Page>().apply {
|
||||
document.select("img.lazy").forEachIndexed { index, element ->
|
||||
add(Page(index,"",element.attr("abs:src"))) }
|
||||
add(Page(index, "", element.attr("abs:src"))) }
|
||||
}
|
||||
override fun imageUrlParse(document: Document): String {
|
||||
throw Exception("Not Used")
|
||||
}
|
||||
|
||||
//Not Used
|
||||
// Not Used
|
||||
}
|
||||
|
Reference in New Issue
Block a user