Merge pull request #1701 from Xwite/master

书源校验添加js失效,图片的书源类型应该为2
This commit is contained in:
kunfei
2022-03-13 10:41:00 +08:00
committed by GitHub
6 changed files with 10 additions and 12 deletions
@@ -5,7 +5,7 @@ import androidx.annotation.IntDef
object BookType {
const val default = 0 // 0 文本
const val audio = 1 // 1 音频
const val image = 3 //图片
const val image = 2 //图片
const val local = "loc_book"
@Target(AnnotationTarget.VALUE_PARAMETER)
@@ -26,7 +26,7 @@ data class BookSource(
var bookSourceName: String = "",
// 分组
var bookSourceGroup: String? = null,
// 类型,0 文本,1 音频, 3 图片
// 类型,0 文本,1 音频, 2 图片
@BookType.Type
var bookSourceType: Int = 0,
// 详情页url正则
@@ -24,6 +24,8 @@ import kotlinx.coroutines.asCoroutineDispatcher
import kotlinx.coroutines.launch
import java.util.concurrent.Executors
import kotlin.math.min
import org.mozilla.javascript.WrappedException
import javax.script.ScriptException
/**
* 校验书源
@@ -176,18 +178,15 @@ class CheckSourceService : BaseService() {
}.timeout(CheckSource.timeout)
.onError(searchCoroutine) {
when(it) {
//校验超时不能正常实现 不能识别
is TimeoutCancellationException -> source.addGroup("校验超时")
//NoStackTraceException 已经添加了分组,其余的视为规则失效
!is NoStackTraceException -> source.addGroup("规则失效")
is ScriptException, is WrappedException -> source.addGroup("js失效")
!is NoStackTraceException -> source.addGroup("网站失效")
}
source.bookSourceComment =
"Error: ${it.localizedMessage}" + if (source.bookSourceComment.isNullOrBlank())
"" else "\n\n${source.bookSourceComment}"
Debug.updateFinalMessage(source.bookSourceUrl, "校验失败:${it.localizedMessage}")
}.onSuccess(searchCoroutine) {
source.removeGroup("失效")
source.removeGroup("规则失效")
source.removeGroup("校验超时")
Debug.updateFinalMessage(source.bookSourceUrl, "校验成功")
}.onFinally(IO) {
@@ -230,7 +229,6 @@ class CheckSourceService : BaseService() {
when (it) {
is ContentEmptyException -> source.addGroup("${bookType}正文失效")
is TocEmptyException -> source.addGroup("${bookType}目录失效")
//超时 网站异常 源码改变
else -> throw it
}
}.onSuccess {