pull/2026/head
kunfei 3 years ago
parent 124f8867ae
commit ccdcd7c2f3
  1. 33
      app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt

@ -685,43 +685,36 @@ class AnalyzeRule(
} }
/** /**
* 更新BookUrl,如果搜索结果有tocUrl也会更新,有些书源bookUrl定期更新,可以在js内调用更新 * 重新获取book
*/ */
fun refreshBookUrl() { fun reGetBook() {
runBlocking {
val bookSource = source as? BookSource val bookSource = source as? BookSource
val book = book as? Book val book = book as? Book
if (bookSource == null || book == null) return@runBlocking if (bookSource == null || book == null) return
val books = WebBook.searchBookAwait(this, bookSource, book.name) runBlocking {
books.forEach { withTimeout(1800000) {
if (it.name == book.name && it.author == book.author) { WebBook.preciseSearchAwait(this, bookSource, book.name, book.author)
.getOrThrow().let {
book.bookUrl = it.bookUrl book.bookUrl = it.bookUrl
if (it.tocUrl.isNotBlank()) { it.variableMap.forEach { entry ->
book.tocUrl = it.tocUrl book.putVariable(entry.key, entry.value)
} }
return@runBlocking
} }
WebBook.getBookInfoAwait(this, bookSource, book, false)
} }
} }
} }
/** /**
* 重新获取book * 刷新详情页
*/ */
fun reGetBook() { fun refreshBook() {
val bookSource = source as? BookSource val bookSource = source as? BookSource
val book = book as? Book val book = book as? Book
if (bookSource == null || book == null) return if (bookSource == null || book == null) return
runBlocking { runBlocking {
withTimeout(1800000) { withTimeout(1800000) {
WebBook.preciseSearchAwait(this, bookSource, book.name, book.author) WebBook.getBookInfoAwait(this, bookSource, book)
.getOrThrow().let {
book.bookUrl = it.bookUrl
it.variableMap.forEach { entry ->
book.putVariable(entry.key, entry.value)
}
}
WebBook.getBookInfoAwait(this, bookSource, book, false)
} }
} }
} }

Loading…
Cancel
Save