diff --git a/app/src/main/java/io/legado/app/data/entities/BookSource.kt b/app/src/main/java/io/legado/app/data/entities/BookSource.kt index b75aceeb7..c22d5a345 100644 --- a/app/src/main/java/io/legado/app/data/entities/BookSource.kt +++ b/app/src/main/java/io/legado/app/data/entities/BookSource.kt @@ -142,11 +142,14 @@ data class BookSource( return false } + fun removeInvalidGroups() { + removeGroup(getInvalidGroupNames()) + } - fun getInvalidGroupNames(): String? { + fun getInvalidGroupNames(): String { return bookSourceGroup?.splitNotBlank(AppPattern.splitGroupRegex)?.toHashSet()?.filter { "失效" in it - }?.joinToString() + }?.joinToString() ?: "" } fun equal(source: BookSource) = diff --git a/app/src/main/java/io/legado/app/service/CheckSourceService.kt b/app/src/main/java/io/legado/app/service/CheckSourceService.kt index 68ca8c211..e865b9f00 100644 --- a/app/src/main/java/io/legado/app/service/CheckSourceService.kt +++ b/app/src/main/java/io/legado/app/service/CheckSourceService.kt @@ -124,6 +124,7 @@ class CheckSourceService : BaseService() { searchWord = it } } + source.removeInvalidGroups() source.bookSourceComment = source.bookSourceComment ?.split("\n\n") ?.filterNot { @@ -172,7 +173,7 @@ class CheckSourceService : BaseService() { } } val finalCheckMessage = source.getInvalidGroupNames() - if (!finalCheckMessage.isNullOrBlank()) throw NoStackTraceException(finalCheckMessage) + if (finalCheckMessage.isNotBlank()) throw NoStackTraceException(finalCheckMessage) }.timeout(CheckSource.timeout) .onError(searchCoroutine) { when(it) { @@ -230,7 +231,7 @@ class CheckSourceService : BaseService() { when (it) { is ContentEmptyException -> source.addGroup("${bookType}正文失效") is TocEmptyException -> source.addGroup("${bookType}目录失效") - //超时??js错误 + //超时 网站异常 源码改变 else -> throw it } }.onSuccess {