Просмотр исходного кода

Merge pull request #1575 from Xwite/master

书源校验:只校验搜索时 搜索结果为空应该抛出异常
kunfei 4 лет назад
Родитель
Сommit
dddd1cc06e
1 измененных файлов с 21 добавлено и 16 удалено
  1. 21 16
      app/src/main/java/io/legado/app/service/CheckSourceService.kt

+ 21 - 16
app/src/main/java/io/legado/app/service/CheckSourceService.kt

@@ -124,27 +124,32 @@ class CheckSourceService : BaseService() {
             //校验搜索 用户设置校验搜索 并且 搜索链接不为空
             if (CheckSource.checkSearch && !source.searchUrl.isNullOrBlank()) {
                 books = WebBook.searchBookAwait(this, source, searchWord)
-                if (books.isEmpty()) source.addGroup("搜索失效") else source.removeGroup("搜索失效")
+                if (books.isEmpty()) {
+                    source.addGroup("搜索失效")
+                    if (!CheckSource.checkDiscovery) {
+                        throw NoStackTraceException("搜索书籍为空")
+                    }
+                } else {
+                    source.removeGroup("搜索失效")
+                }
             }
             //校验发现
             if (CheckSource.checkDiscovery) {
-                if (books.isEmpty()) {
-                    val exs = source.exploreKinds
-                    var url: String? = null
-                    for (ex in exs) {
-                        url = ex.url
-                        if (!url.isNullOrBlank()) {
-                            break
-                        }
-                    }
-                    if (url.isNullOrBlank()) {
-                        throw NoStackTraceException("搜索内容为空并且没有发现")
-                    }
-                    books = WebBook.exploreBookAwait(this, source, url)
-                    if (books.isEmpty()) {
-                        throw NoStackTraceException("发现书籍为空")
+                val exs = source.exploreKinds
+                var url: String? = null
+                for (ex in exs) {
+                    url = ex.url
+                    if (!url.isNullOrBlank()) {
+                        break
                     }
                 }
+                if (source.hasGroup("搜索失效") && url.isNullOrBlank()) {
+                    throw NoStackTraceException("搜索内容为空并且没有发现")
+                }
+                books = WebBook.exploreBookAwait(this, source, url)
+                if (books.isEmpty()) {
+                    throw NoStackTraceException("发现书籍为空")
+                }
             }
             //校验详情
             if (CheckSource.checkInfo) {