Even more lint cleanup (#3191)
This commit is contained in:
parent
a1857f5f35
commit
11ac392755
@ -66,7 +66,7 @@ class INKR : HttpSource() {
|
||||
val body = RequestBody.create(jsonType, jsonObject(
|
||||
"status" to "all"
|
||||
).toString())
|
||||
|
||||
|
||||
return POST("$apiUrl/mrs_filter", headers, body)
|
||||
}
|
||||
|
||||
@ -294,7 +294,7 @@ class INKR : HttpSource() {
|
||||
|
||||
// Decrypt file content using XOR cipher with 101 as the key
|
||||
val cipherKey = 101.toByte()
|
||||
for (r in 0 until data.size) {
|
||||
for (r in data.indices) {
|
||||
buffer[r + 15] = cipherKey xor data[r]
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 80 KiB |
@ -198,7 +198,7 @@ class MangaKisa : ConfigurableSource, ParsedHttpSource() {
|
||||
setOnPreferenceChangeListener { _, newValue ->
|
||||
val selected = newValue as String
|
||||
val index = this.findIndexOfValue(selected)
|
||||
val entry = entryValues.get(index) as String
|
||||
val entry = entryValues[index] as String
|
||||
preferences.edit().putString(BROWSE_PREF, entry).commit()
|
||||
}
|
||||
}
|
||||
@ -212,7 +212,7 @@ class MangaKisa : ConfigurableSource, ParsedHttpSource() {
|
||||
setOnPreferenceChangeListener { _, newValue ->
|
||||
val selected = newValue as String
|
||||
val index = this.findIndexOfValue(selected)
|
||||
val entry = entryValues.get(index) as String
|
||||
val entry = entryValues[index] as String
|
||||
preferences.edit().putString(LATEST_PREF, entry).commit()
|
||||
}
|
||||
}
|
||||
@ -231,7 +231,7 @@ class MangaKisa : ConfigurableSource, ParsedHttpSource() {
|
||||
setOnPreferenceChangeListener { _, newValue ->
|
||||
val selected = newValue as String
|
||||
val index = this.findIndexOfValue(selected)
|
||||
val entry = entryValues.get(index) as String
|
||||
val entry = entryValues[index] as String
|
||||
preferences.edit().putString(BROWSE_PREF, entry).commit()
|
||||
}
|
||||
}
|
||||
@ -245,7 +245,7 @@ class MangaKisa : ConfigurableSource, ParsedHttpSource() {
|
||||
setOnPreferenceChangeListener { _, newValue ->
|
||||
val selected = newValue as String
|
||||
val index = this.findIndexOfValue(selected)
|
||||
val entry = entryValues.get(index) as String
|
||||
val entry = entryValues[index] as String
|
||||
preferences.edit().putString(LATEST_PREF, entry).commit()
|
||||
}
|
||||
}
|
||||
|
@ -481,7 +481,7 @@ class MangaPark : ConfigurableSource, ParsedHttpSource() {
|
||||
setOnPreferenceChangeListener { _, newValue ->
|
||||
val selected = newValue as String
|
||||
val index = this.findIndexOfValue(selected)
|
||||
val entry = entryValues.get(index) as String
|
||||
val entry = entryValues[index] as String
|
||||
preferences.edit().putString(SOURCE_PREF, entry).commit()
|
||||
}
|
||||
}
|
||||
@ -499,7 +499,7 @@ class MangaPark : ConfigurableSource, ParsedHttpSource() {
|
||||
setOnPreferenceChangeListener { _, newValue ->
|
||||
val selected = newValue as String
|
||||
val index = this.findIndexOfValue(selected)
|
||||
val entry = entryValues.get(index) as String
|
||||
val entry = entryValues[index] as String
|
||||
preferences.edit().putString(SOURCE_PREF, entry).commit()
|
||||
}
|
||||
}
|
||||
|
@ -206,7 +206,7 @@ class Readcomiconline : ConfigurableSource, ParsedHttpSource() {
|
||||
setOnPreferenceChangeListener { _, newValue ->
|
||||
val selected = newValue as String
|
||||
val index = this.findIndexOfValue(selected)
|
||||
val entry = entryValues.get(index) as String
|
||||
val entry = entryValues[index] as String
|
||||
preferences.edit().putString(QUALITY_PREF, entry).commit()
|
||||
}
|
||||
}
|
||||
@ -224,7 +224,7 @@ class Readcomiconline : ConfigurableSource, ParsedHttpSource() {
|
||||
setOnPreferenceChangeListener { _, newValue ->
|
||||
val selected = newValue as String
|
||||
val index = this.findIndexOfValue(selected)
|
||||
val entry = entryValues.get(index) as String
|
||||
val entry = entryValues[index] as String
|
||||
preferences.edit().putString(QUALITY_PREF, entry).commit()
|
||||
}
|
||||
}
|
||||
|
@ -42,7 +42,7 @@ class Tapastic : ConfigurableSource, ParsedHttpSource() {
|
||||
setOnPreferenceChangeListener { _, newValue ->
|
||||
val selected = newValue as String
|
||||
val index = this.findIndexOfValue(selected)
|
||||
val entry = entryValues.get(index) as String
|
||||
val entry = entryValues[index] as String
|
||||
preferences.edit().putString(SHOW_LOCKED_CHAPTERS, entry).commit()
|
||||
}
|
||||
}
|
||||
@ -60,7 +60,7 @@ class Tapastic : ConfigurableSource, ParsedHttpSource() {
|
||||
setOnPreferenceChangeListener { _, newValue ->
|
||||
val selected = newValue as String
|
||||
val index = this.findIndexOfValue(selected)
|
||||
val entry = entryValues.get(index) as String
|
||||
val entry = entryValues[index] as String
|
||||
preferences.edit().putString(SHOW_LOCKED_CHAPTERS, entry).commit()
|
||||
}
|
||||
}
|
||||
|
@ -250,7 +250,7 @@ class ManaMoa : ConfigurableSource, ParsedHttpSource() {
|
||||
""
|
||||
}
|
||||
}
|
||||
.forEach { pages.add(Page(pages.size, decoder.request(it), "${it.substringBefore("!!")}")) }
|
||||
.forEach { pages.add(Page(pages.size, decoder.request(it), it.substringBefore("!!"))) }
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
|
@ -59,7 +59,7 @@ class NaverChallenge : NaverComicChallengeBase("challenge") {
|
||||
while (document.select(paginationNextPageSelector).hasText()) {
|
||||
document.select(paginationNextPageSelector).let {
|
||||
document = client.newCall(GET(it.attr("abs:href"))).execute().asJsoup()
|
||||
document.select(chapterListSelector()).map { chapters.add(chapterFromElement(it)) }
|
||||
document.select(chapterListSelector()).map { element -> chapters.add(chapterFromElement(element)) }
|
||||
}
|
||||
}
|
||||
return chapters
|
||||
|
@ -55,7 +55,7 @@ abstract class NaverComicBase(protected val mType: String) : ParsedHttpSource()
|
||||
while (document.select(paginationNextPageSelector).isNotEmpty()) {
|
||||
document.select(paginationNextPageSelector).let {
|
||||
document = client.newCall(chapterListRequest(it.attr("href"), nextPage)).execute().asJsoup()
|
||||
document.select(chapterListSelector()).map { chapters.add(chapterFromElement(it)) }
|
||||
document.select(chapterListSelector()).map { element -> chapters.add(chapterFromElement(element)) }
|
||||
nextPage++
|
||||
}
|
||||
}
|
||||
|
@ -187,8 +187,8 @@ class Hipercool : HttpSource() {
|
||||
val regex = CHAPTER_REGEX.toRegex()
|
||||
val results = regex.find(chapter.url)!!.groupValues
|
||||
|
||||
val bookSlug = results[1].toString()
|
||||
val chapterSlug = results[2].toString()
|
||||
val bookSlug = results[1]
|
||||
val chapterSlug = results[2]
|
||||
val images = results[3].toInt()
|
||||
val revision = results[4].toInt()
|
||||
val pages = arrayListOf<Page>()
|
||||
|
@ -54,7 +54,7 @@ class SuperMangas : SuperMangasGeneric(
|
||||
Tag("30", "Ficção científica"),
|
||||
Tag("68", "Food"),
|
||||
Tag("72", "Gender Bender"),
|
||||
Tag("25", "Harém"),
|
||||
Tag("25", "Harém"),
|
||||
Tag("48", "Histórico"),
|
||||
Tag("50", "Horror"),
|
||||
Tag("75", "Isekai"),
|
||||
|
@ -76,12 +76,12 @@ class YesMangas : ParsedHttpSource() {
|
||||
override fun searchMangaNextPageSelector(): String? = null
|
||||
|
||||
override fun mangaDetailsParse(document: Document): SManga {
|
||||
var container = document.select("div#descricao")
|
||||
var statusEl = container.select("ul li:contains(Status)")
|
||||
var authorEl = container.select("ul li:contains(Autor)")
|
||||
var artistEl = container.select("ul li:contains(Desenho)")
|
||||
var genresEl = container.select("ul li:contains(Categorias)")
|
||||
var synopsis = container.select("article")
|
||||
val container = document.select("div#descricao")
|
||||
val statusEl = container.select("ul li:contains(Status)")
|
||||
val authorEl = container.select("ul li:contains(Autor)")
|
||||
val artistEl = container.select("ul li:contains(Desenho)")
|
||||
val genresEl = container.select("ul li:contains(Categorias)")
|
||||
val synopsis = container.select("article")
|
||||
|
||||
return SManga.create().apply {
|
||||
status = parseStatus(removeLabel(statusEl.text()))
|
||||
@ -108,11 +108,11 @@ class YesMangas : ParsedHttpSource() {
|
||||
}
|
||||
|
||||
override fun pageListParse(document: Document): List<Page> {
|
||||
var script = document.select("script").last().data()
|
||||
var images = script.substringAfter(SCRIPT_BEGIN).substringBefore(SCRIPT_END)
|
||||
val script = document.select("script").last().data()
|
||||
val images = script.substringAfter(SCRIPT_BEGIN).substringBefore(SCRIPT_END)
|
||||
.replace(SCRIPT_REGEX.toRegex(), "")
|
||||
|
||||
var newDocument = Jsoup.parse(images)
|
||||
val newDocument = Jsoup.parse(images)
|
||||
|
||||
return newDocument.select("a img")
|
||||
.mapIndexed { i, el -> Page(i, "", el.attr("src")) }
|
||||
@ -128,6 +128,6 @@ class YesMangas : ParsedHttpSource() {
|
||||
|
||||
private const val SCRIPT_BEGIN = "var images = ["
|
||||
private const val SCRIPT_END = "];"
|
||||
private const val SCRIPT_REGEX = "\"|,"
|
||||
private const val SCRIPT_REGEX = "[\",]"
|
||||
}
|
||||
}
|
||||
|
@ -130,7 +130,7 @@ class Anibe : ParsedHttpSource() {
|
||||
}
|
||||
})
|
||||
|
||||
for (i in 0 until jsonChapters.size) {
|
||||
for (i in jsonChapters.indices) {
|
||||
val chapter = SChapter.create()
|
||||
chapter.name = "Chapter: " + jsonChapters.elementAt(i) // Key for chapter in JSON object
|
||||
chapter.url = "/posts/" + jsonManga["id"].asString + "?$i"
|
||||
|
@ -148,7 +148,7 @@ class ComX : ParsedHttpSource() {
|
||||
}
|
||||
|
||||
private fun chapterPageListParse(document: Document): List<String> {
|
||||
return document.select("span[class=\"\"]").map { it -> it.text() }
|
||||
return document.select("span[class=\"\"]").map { it.text() }
|
||||
}
|
||||
|
||||
override fun chapterListParse(response: Response): List<SChapter> {
|
||||
|
@ -33,7 +33,7 @@ class Desu : HttpSource() {
|
||||
val arr = JSONArray(json)
|
||||
val ret = ArrayList<SManga>(arr.length())
|
||||
for (i in 0 until arr.length()) {
|
||||
var obj = arr.getJSONObject(i)
|
||||
val obj = arr.getJSONObject(i)
|
||||
ret.add(SManga.create().apply {
|
||||
mangaFromJSON(obj, false)
|
||||
})
|
||||
@ -49,7 +49,7 @@ class Desu : HttpSource() {
|
||||
description = obj.getString("description")
|
||||
genre = if (chapter) {
|
||||
val jsonArray = obj.getJSONArray("genres")
|
||||
var genreList = kotlin.collections.mutableListOf<String>()
|
||||
val genreList = mutableListOf<String>()
|
||||
for (i in 0 until jsonArray.length()) {
|
||||
genreList.add(jsonArray.getJSONObject(i).getString("russian"))
|
||||
}
|
||||
@ -74,8 +74,8 @@ class Desu : HttpSource() {
|
||||
|
||||
override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
|
||||
var url = "$baseUrl/?limit=20&page=$page"
|
||||
var types = mutableListOf<Type>()
|
||||
var genres = mutableListOf<Genre>()
|
||||
val types = mutableListOf<Type>()
|
||||
val genres = mutableListOf<Genre>()
|
||||
(if (filters.isEmpty()) getFilterList() else filters).forEach { filter ->
|
||||
when (filter) {
|
||||
is OrderBy -> url += "&order=" + arrayOf("popular", "updated", "name")[filter.state]
|
||||
@ -84,13 +84,13 @@ class Desu : HttpSource() {
|
||||
}
|
||||
}
|
||||
|
||||
if (!types.isEmpty()) {
|
||||
if (types.isNotEmpty()) {
|
||||
url += "&kinds=" + types.joinToString(",") { it.id }
|
||||
}
|
||||
if (!genres.isEmpty()) {
|
||||
if (genres.isNotEmpty()) {
|
||||
url += "&genres=" + genres.joinToString(",") { it.id }
|
||||
}
|
||||
if (!query.isEmpty()) {
|
||||
if (query.isNotEmpty()) {
|
||||
url += "&search=$query"
|
||||
}
|
||||
return GET(url)
|
||||
@ -123,10 +123,10 @@ class Desu : HttpSource() {
|
||||
ret.add(SChapter.create().apply {
|
||||
val ch = obj2.getString("ch")
|
||||
val title = if (obj2.getString("title") == "null") "" else obj2.getString("title")
|
||||
if (title.isEmpty()) {
|
||||
name = "Глава $ch"
|
||||
name = if (title.isEmpty()) {
|
||||
"Глава $ch"
|
||||
} else {
|
||||
name = "$ch - $title"
|
||||
"$ch - $title"
|
||||
}
|
||||
val id = obj2.getString("id")
|
||||
url = "/$cid/chapter/$id"
|
||||
|
@ -233,7 +233,7 @@ class Mangachan : ParsedHttpSource() {
|
||||
private class Status : Filter.Select<String>("Статус", arrayOf("Все", "Перевод завершен", "Выпуск завершен", "Онгоинг", "Новые главы"))
|
||||
private class OrderBy : Filter.Sort("Сортировка",
|
||||
arrayOf("Дата", "Популярность", "Имя", "Главы"),
|
||||
Filter.Sort.Selection(1, false))
|
||||
Selection(1, false))
|
||||
|
||||
override fun getFilterList() = FilterList(
|
||||
Status(),
|
||||
|
@ -83,7 +83,7 @@ class Mintmanga : ParsedHttpSource() {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!query.isEmpty()) {
|
||||
if (query.isNotEmpty()) {
|
||||
url.addQueryParameter("q", query)
|
||||
}
|
||||
return GET(url.toString().replace("=%3D", "="), headers)
|
||||
|
@ -73,7 +73,7 @@ class Onlinecomics : ParsedHttpSource() {
|
||||
document.select(selector).first()
|
||||
} != null
|
||||
|
||||
return MangasPage(mangas.distinctBy { it -> it.url }, hasNextPage)
|
||||
return MangasPage(mangas.distinctBy { it.url }, hasNextPage)
|
||||
}
|
||||
|
||||
override fun popularMangaSelector() = "div.PrewLine"
|
||||
|
@ -83,7 +83,7 @@ class Readmanga : ParsedHttpSource() {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!query.isEmpty()) {
|
||||
if (query.isNotEmpty()) {
|
||||
url.addQueryParameter("q", query)
|
||||
}
|
||||
return GET(url.toString().replace("=%3D", "="), headers)
|
||||
|
@ -71,7 +71,7 @@ class Selfmanga : ParsedHttpSource() {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!query.isEmpty()) {
|
||||
if (query.isNotEmpty()) {
|
||||
url.addQueryParameter("q", query)
|
||||
}
|
||||
return GET(url.toString().replace("=%3D", "="), headers)
|
||||
|
@ -10,11 +10,9 @@ import eu.kanade.tachiyomi.source.online.ParsedHttpSource
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Response
|
||||
import org.jsoup.nodes.Document
|
||||
import org.jsoup.nodes.Element
|
||||
import org.json.JSONArray
|
||||
import org.json.JSONObject
|
||||
|
||||
class MangaDenizi : ParsedHttpSource() {
|
||||
@ -96,9 +94,7 @@ class MangaDenizi : ParsedHttpSource() {
|
||||
override fun mangaDetailsParse(document: Document) = SManga.create().apply {
|
||||
description = document.select(".well > p").text()
|
||||
genre = document.select("dd > a[href*=category]").joinToString { it.text() }
|
||||
status = document.select(".label.label-success").let {
|
||||
parseStatus(it.text())
|
||||
}
|
||||
status = parseStatus(document.select(".label.label-success").text())
|
||||
thumbnail_url = document.select("img.img-responsive").attr("abs:src")
|
||||
}
|
||||
|
||||
|
@ -8,9 +8,7 @@ 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.Calendar
|
||||
import java.util.Locale
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Request
|
||||
import okhttp3.Response
|
||||
import org.jsoup.nodes.Document
|
||||
@ -30,10 +28,10 @@ class SeriManga : ParsedHttpSource() {
|
||||
override fun popularMangaSelector() = "a.manga-list-bg"
|
||||
|
||||
override fun popularMangaRequest(page: Int): Request {
|
||||
if (page == 1) {
|
||||
return GET("$baseUrl/mangalar", headers)
|
||||
return if (page == 1) {
|
||||
GET("$baseUrl/mangalar", headers)
|
||||
} else {
|
||||
return GET("$baseUrl/mangalar?page=$page", headers)
|
||||
GET("$baseUrl/mangalar?page=$page", headers)
|
||||
}
|
||||
}
|
||||
|
||||
@ -89,7 +87,7 @@ class SeriManga : ParsedHttpSource() {
|
||||
var document = response.asJsoup()
|
||||
var continueParsing = true
|
||||
|
||||
while (continueParsing) {
|
||||
while (continueParsing) {
|
||||
document.select(chapterListSelector()).map{ chapters.add(chapterFromElement(it)) }
|
||||
document.select(popularMangaNextPageSelector()).let{
|
||||
if (it.isNotEmpty()) {
|
||||
@ -106,8 +104,8 @@ class SeriManga : ParsedHttpSource() {
|
||||
|
||||
override fun chapterFromElement(element: Element) = SChapter.create().apply {
|
||||
setUrlWithoutDomain(element.select("a").attr("href"))
|
||||
name = "${element.select("span").first().text()}: ${element.select("span").get(1).text()}"
|
||||
date_upload = dateFormat.parse(element.select("span").get(2).ownText()).time ?: 0
|
||||
name = "${element.select("span").first().text()}: ${element.select("span")[1].text()}"
|
||||
date_upload = dateFormat.parse(element.select("span")[2].ownText()).time ?: 0
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
@ -105,10 +105,10 @@ class BlogTruyen : ParsedHttpSource() {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (genres.isNotEmpty()) temp = temp + "/" + genres.joinToString(",")
|
||||
else temp = "$temp/-1"
|
||||
if (genresEx.isNotEmpty()) temp = temp + "/" + genresEx.joinToString(",")
|
||||
else temp = "$temp/-1"
|
||||
temp = if (genres.isNotEmpty()) temp + "/" + genres.joinToString(",")
|
||||
else "$temp/-1"
|
||||
temp = if (genresEx.isNotEmpty()) temp + "/" + genresEx.joinToString(",")
|
||||
else "$temp/-1"
|
||||
val url = HttpUrl.parse(temp)!!.newBuilder()
|
||||
url.addQueryParameter("txt", query)
|
||||
if (aut.isNotEmpty()) url.addQueryParameter("aut", aut)
|
||||
|
@ -101,7 +101,7 @@ class Dmzj : HttpSource() {
|
||||
params = "0"
|
||||
}
|
||||
|
||||
val order = filters.filter { it is SortFilter }.map { (it as UriPartFilter).toUriPart() }.joinToString("")
|
||||
val order = filters.filterIsInstance<SortFilter>().joinToString("") { (it as UriPartFilter).toUriPart() }
|
||||
|
||||
return myGet("http://v2.api.dmzj.com/classify/$params/$order/${page - 1}.json")
|
||||
}
|
||||
|
@ -111,7 +111,7 @@ class Gufengmh : ParsedHttpSource() {
|
||||
// Filters
|
||||
|
||||
override fun getFilterList(): FilterList {
|
||||
val filterList = FilterList(
|
||||
return FilterList(
|
||||
Filter.Header("如果使用文本搜索"),
|
||||
Filter.Header("过滤器将被忽略"),
|
||||
typefilter(),
|
||||
@ -120,7 +120,6 @@ class Gufengmh : ParsedHttpSource() {
|
||||
letterfilter(),
|
||||
statusfilter()
|
||||
)
|
||||
return filterList
|
||||
}
|
||||
|
||||
private class typefilter : UriSelectFilterPath("按类型", "filtertype", arrayOf(
|
||||
|
@ -160,8 +160,8 @@ class HanhanKuman : ParsedHttpSource() {
|
||||
val k = sk.substring(0, sk.length - 1)
|
||||
val f = sk.substring(sk.length - 1)
|
||||
|
||||
for (i in 0 until k.length) {
|
||||
s = s.replace(k.substring(i, i + 1), Integer.toString(i))
|
||||
for (i in k.indices) {
|
||||
s = s.replace(k.substring(i, i + 1), i.toString())
|
||||
}
|
||||
val ss = s.split(f.toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()
|
||||
s = ""
|
||||
|
@ -41,17 +41,17 @@ class Manhuadui : ParsedHttpSource() {
|
||||
override fun popularMangaRequest(page: Int) = GET("$baseUrl/list_$page/", headers)
|
||||
override fun latestUpdatesRequest(page: Int) = GET("$baseUrl/update/$page/", headers)
|
||||
override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
|
||||
if (query != "") {
|
||||
return if (query != "") {
|
||||
val url = HttpUrl.parse("$baseUrl/search/?keywords=$query")?.newBuilder()
|
||||
return GET(url.toString(), headers)
|
||||
GET(url.toString(), headers)
|
||||
} else {
|
||||
var params = filters.map {
|
||||
val params = filters.map {
|
||||
if (it is UriPartFilter) {
|
||||
it.toUriPart()
|
||||
} else ""
|
||||
}.filter { it != "" }.joinToString("-")
|
||||
val url = HttpUrl.parse("$baseUrl/list/$params/$page/")?.newBuilder()
|
||||
return GET(url.toString(), headers)
|
||||
GET(url.toString(), headers)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -40,7 +40,7 @@ class Manhuaren : HttpSource() {
|
||||
url.queryParameterNames().toSortedSet().forEach {
|
||||
if (it != "gsn") {
|
||||
s += it
|
||||
s += urlEncode(url.queryParameterValues(it).get(0))
|
||||
s += urlEncode(url.queryParameterValues(it)[0])
|
||||
}
|
||||
}
|
||||
s += c
|
||||
@ -49,7 +49,7 @@ class Manhuaren : HttpSource() {
|
||||
|
||||
private fun myGet(url: HttpUrl): Request {
|
||||
val now = DateFormat.format("yyyy-MM-dd+HH:mm:ss", Date()).toString()
|
||||
val real_url = url.newBuilder()
|
||||
val realUrl = url.newBuilder()
|
||||
.setQueryParameter("gsm", "md5")
|
||||
.setQueryParameter("gft", "json")
|
||||
.setQueryParameter("gts", now)
|
||||
@ -59,7 +59,7 @@ class Manhuaren : HttpSource() {
|
||||
.setQueryParameter("gui", "191909801")
|
||||
.setQueryParameter("gut", "0")
|
||||
return Request.Builder()
|
||||
.url(real_url.setQueryParameter("gsn", generateGSNHash(real_url.build())).build())
|
||||
.url(realUrl.setQueryParameter("gsn", generateGSNHash(realUrl.build())).build())
|
||||
.headers(headers)
|
||||
.cacheControl(cacheControl)
|
||||
.build()
|
||||
@ -73,7 +73,7 @@ class Manhuaren : HttpSource() {
|
||||
}
|
||||
|
||||
private fun hashString(type: String, input: String): String {
|
||||
val HEX_CHARS = "0123456789abcdef"
|
||||
val hexChars = "0123456789abcdef"
|
||||
val bytes = MessageDigest
|
||||
.getInstance(type)
|
||||
.digest(input.toByteArray())
|
||||
@ -81,8 +81,8 @@ class Manhuaren : HttpSource() {
|
||||
|
||||
bytes.forEach {
|
||||
val i = it.toInt()
|
||||
result.append(HEX_CHARS[i shr 4 and 0x0f])
|
||||
result.append(HEX_CHARS[i and 0x0f])
|
||||
result.append(hexChars[i shr 4 and 0x0f])
|
||||
result.append(hexChars[i and 0x0f])
|
||||
}
|
||||
|
||||
return result.toString()
|
||||
|
@ -33,7 +33,7 @@ fun bodyWithAutoCharset(response: Response, _charset: String? = null): String {
|
||||
var c = _charset
|
||||
|
||||
if (c == null) {
|
||||
var regexPat = Regex("""charset=(\w+)""")
|
||||
val regexPat = Regex("""charset=(\w+)""")
|
||||
val match = regexPat.find(String(htmlBytes))
|
||||
c = match?.groups?.get(1)?.value
|
||||
}
|
||||
@ -151,7 +151,7 @@ class Pufei : ParsedHttpSource() {
|
||||
val imgbase64 = re.find(html)?.groups?.get(1)?.value
|
||||
val imgCode = String(Base64.decode(imgbase64, Base64.DEFAULT))
|
||||
val imgArrStr = Duktape.create().use {
|
||||
it.evaluate(imgCode + """.join('|')""") as String
|
||||
it.evaluate("$imgCode.join('|')") as String
|
||||
}
|
||||
return imgArrStr.split('|').mapIndexed { i, imgStr ->
|
||||
Page(i, "", imageServer + imgStr)
|
||||
|
@ -90,8 +90,8 @@ class Qimiaomh : ParsedHttpSource() {
|
||||
|
||||
override fun pageListParse(document: Document): List<Page> = mutableListOf<Page>().apply {
|
||||
val script = document.select("script:containsData(var did =)").html()
|
||||
var did = script.substringAfter("var did = ").substringBefore(";")
|
||||
var sid = script.substringAfter("var sid = ").substringBefore(";")
|
||||
val did = script.substringAfter("var did = ").substringBefore(";")
|
||||
val sid = script.substringAfter("var sid = ").substringBefore(";")
|
||||
val url = "$baseUrl/Action/Play/AjaxLoadImgUrl?did=$did&sid=$sid&tmp=${Random().nextFloat()}"
|
||||
val body = client.newCall(GET(url, headers)).execute().body()!!.string()
|
||||
val json = JsonParser().parse(body).asJsonObject
|
||||
|
@ -53,7 +53,7 @@ class wnacg : ParsedHttpSource() {
|
||||
}
|
||||
|
||||
override fun chapterListParse(response: Response): List<SChapter> {
|
||||
var document = response.asJsoup()
|
||||
val document = response.asJsoup()
|
||||
val chapters = mutableListOf<SChapter>()
|
||||
// create one chapter since it is single books
|
||||
chapters.add(createChapter("1", document.baseUri()))
|
||||
@ -84,7 +84,7 @@ class wnacg : ParsedHttpSource() {
|
||||
val galleryaid = client.newCall(GET(baseUrl + slideaid.select("script[src$=html]").attr("src"), headers)).execute().asJsoup().toString()
|
||||
val matchresult = regex.findAll(galleryaid).map { it.value }.toList()
|
||||
val pages = mutableListOf<Page>()
|
||||
for (i in 0 until matchresult.size) {
|
||||
for (i in matchresult.indices) {
|
||||
pages.add(Page(i, "", "https:" + matchresult[i]))
|
||||
}
|
||||
return pages
|
||||
|
Loading…
x
Reference in New Issue
Block a user