Refine GalleryMultiPageViewerPTokenParser

This commit is contained in:
FooIbar committed 2024-09-28 00:01:21 +08:00
1 parent c54ac1a4c0
commit af7e411932
1 file changed
+4 -8
@@ -19,22 +19,18 @@ package com.hippo.ehviewer.client.parser
import com.hippo.ehviewer.client.exception.ParseException
import com.hippo.ehviewer.client.parseAs
import com.hippo.ehviewer.util.ExceptionUtils
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
object GalleryMultiPageViewerPTokenParser {
private const val IMAGE_LIST_STRING = "var imagelist = "
fun parse(body: String): List<String> {
fun parse(body: String): List<String> = runCatching {
val index = body.indexOf(IMAGE_LIST_STRING)
val imagelist = body.substring(index + IMAGE_LIST_STRING.length, body.indexOf(";", index))
return runCatching {
imagelist.parseAs<List<Item>>().map(Item::token)
}.getOrElse {
ExceptionUtils.throwIfFatal(it)
throw ParseException("Parse pToken from MPV error", it)
}
imagelist.parseAs<List<Item>>().map(Item::token)
}.getOrElse {
throw ParseException("Parse pToken from MPV error", it)
}
@Serializable