Horis 1 год назад
Родитель
Сommit
ab3898d629
1 измененных файлов с 8 добавлено и 3 удалено
  1. 8 3
      app/src/main/java/io/legado/app/model/webBook/BookList.kt

+ 8 - 3
app/src/main/java/io/legado/app/model/webBook/BookList.kt

@@ -61,7 +61,8 @@ object BookList {
                     body,
                     body,
                     baseUrl,
                     baseUrl,
                     ruleData.getVariable(),
                     ruleData.getVariable(),
-                    isRedirect
+                    isRedirect,
+                    filter
                 )?.let { searchBook ->
                 )?.let { searchBook ->
                     searchBook.infoHtml = body
                     searchBook.infoHtml = body
                     bookList.add(searchBook)
                     bookList.add(searchBook)
@@ -91,7 +92,7 @@ object BookList {
             Debug.log(bookSource.bookSourceUrl, "└列表为空,按详情页解析")
             Debug.log(bookSource.bookSourceUrl, "└列表为空,按详情页解析")
             getInfoItem(
             getInfoItem(
                 bookSource, analyzeRule, analyzeUrl, body, baseUrl, ruleData.getVariable(),
                 bookSource, analyzeRule, analyzeUrl, body, baseUrl, ruleData.getVariable(),
-                isRedirect
+                isRedirect, filter
             )?.let { searchBook ->
             )?.let { searchBook ->
                 searchBook.infoHtml = body
                 searchBook.infoHtml = body
                 bookList.add(searchBook)
                 bookList.add(searchBook)
@@ -148,7 +149,8 @@ object BookList {
         body: String,
         body: String,
         baseUrl: String,
         baseUrl: String,
         variable: String?,
         variable: String?,
-        isRedirect: Boolean
+        isRedirect: Boolean,
+        filter: ((name: String, author: String) -> Boolean)?
     ): SearchBook? {
     ): SearchBook? {
         val book = Book(variable = variable)
         val book = Book(variable = variable)
         book.bookUrl = if (isRedirect) {
         book.bookUrl = if (isRedirect) {
@@ -170,6 +172,9 @@ object BookList {
             baseUrl,
             baseUrl,
             false
             false
         )
         )
+        if (filter?.invoke(book.name, book.author) == false) {
+            return null
+        }
         if (book.name.isNotBlank()) {
         if (book.name.isNotBlank()) {
             return book.toSearchBook()
             return book.toSearchBook()
         }
         }