fix:校验bug

pull/1855/head
Xwite 3 years ago
parent 75ef8a17b8
commit 1f9b8d0d8b
  1. 30
      app/src/main/java/io/legado/app/service/CheckSourceService.kt

@ -135,17 +135,19 @@ class CheckSourceService : BaseService() {
?.filterNot { ?.filterNot {
it.startsWith("Error: ") it.startsWith("Error: ")
}?.joinToString("\n") }?.joinToString("\n")
//校验搜索书籍 用户设置校验搜索 并且 搜索链接不为空 //校验搜索书籍
if (CheckSource.checkSearch && !source.searchUrl.isNullOrBlank()) { if (CheckSource.checkSearch) {
val searchBooks = WebBook.searchBookAwait(this, source, searchWord) if (!source.searchUrl.isNullOrBlank()) {
if (searchBooks.isEmpty()) { source.removeGroup("搜索链接规则为空")
source.addGroup("搜索失效") val searchBooks = WebBook.searchBookAwait(this, source, searchWord)
if (!CheckSource.checkDiscovery) { if (searchBooks.isEmpty()) {
throw NoStackTraceException("搜索书籍为空") source.addGroup("搜索失效")
} else {
source.removeGroup("搜索失效")
checkBook(searchBooks.first().toBook(), source)
} }
} else { } else {
source.removeGroup("搜索失效") source.addGroup("搜索链接规则为空")
checkBook(searchBooks.first().toBook(), source)
} }
} }
//校验发现书籍 //校验发现书籍
@ -159,18 +161,12 @@ class CheckSourceService : BaseService() {
} }
} }
if (url.isNullOrBlank()) { if (url.isNullOrBlank()) {
when { source.addGroup("发现规则为空")
!CheckSource.checkSearch -> throw NoStackTraceException("没有发现")
source.hasGroup("搜索失效") -> throw NoStackTraceException("搜索内容为空并且没有发现")
}
} else { } else {
source.removeGroup("发现规则为空")
val exploreBooks = WebBook.exploreBookAwait(this, source, url) val exploreBooks = WebBook.exploreBookAwait(this, source, url)
if (exploreBooks.isEmpty()) { if (exploreBooks.isEmpty()) {
source.addGroup("发现失效") source.addGroup("发现失效")
when {
!CheckSource.checkSearch -> throw NoStackTraceException("发现书籍为空")
source.hasGroup("搜索失效") -> throw NoStackTraceException("搜索内容和发现书籍为空")
}
} else { } else {
source.removeGroup("发现失效") source.removeGroup("发现失效")
checkBook(exploreBooks.first().toBook(), source, false) checkBook(exploreBooks.first().toBook(), source, false)

Loading…
Cancel
Save