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