MangaKatana - fix pages (#3943)

This commit is contained in:
Mike 2020-07-29 00:38:46 -04:00 committed by GitHub
parent 10ac13a3ca
commit 39302cafa6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 8 deletions

View File

@ -5,7 +5,7 @@ ext {
extName = 'MangaKatana' extName = 'MangaKatana'
pkgNameSuffix = 'en.mangakatana' pkgNameSuffix = 'en.mangakatana'
extClass = '.MangaKatana' extClass = '.MangaKatana'
extVersionCode = 2 extVersionCode = 3
libVersion = '1.2' libVersion = '1.2'
} }

View File

@ -6,7 +6,6 @@ import eu.kanade.tachiyomi.source.model.Page
import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SChapter
import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.model.SManga
import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.source.online.ParsedHttpSource
import java.lang.Exception
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.Locale import java.util.Locale
import okhttp3.MediaType import okhttp3.MediaType
@ -85,7 +84,7 @@ class MangaKatana : ParsedHttpSource() {
override fun chapterFromElement(element: Element) = SChapter.create().apply { override fun chapterFromElement(element: Element) = SChapter.create().apply {
setUrlWithoutDomain(element.select("a").attr("href")) setUrlWithoutDomain(element.select("a").attr("href"))
name = element.select("a").text() name = element.select("a").text()
date_upload = dateFormat.parse(element.select(".update_time").text()).time date_upload = dateFormat.parse(element.select(".update_time").text())?.time ?: 0
} }
companion object { companion object {
@ -94,13 +93,15 @@ class MangaKatana : ParsedHttpSource() {
} }
} }
private val imageArrayRegex = Regex("""var ytaw=\[([^\[]*)]""")
private val imageUrlRegex = Regex("""'([^']*)'""")
override fun pageListParse(document: Document): List<Page> { override fun pageListParse(document: Document): List<Page> {
// image URLs are in an array with each URL being reversed (e.g. 1.jpg becomes gpj.1) val imageArray = document.select("script:containsData(var ytaw)").firstOrNull()?.data()
val script = document.select("script:containsData(var ytaw)").firstOrNull()?.data() ?.let { imageArrayRegex.find(it)?.groupValues?.get(1) }
?: throw Exception("Image array not found") ?: throw Exception("Image array not found")
val regex = Regex("""'(.[^']*ptth)'""") return imageUrlRegex.findAll(imageArray).asIterable().mapIndexed { i, mr ->
return regex.findAll(script).toList().mapIndexed { i, mr -> Page(i, "", mr.groupValues[1])
Page(i, "", mr.groupValues[1].reversed())
} }
} }