换源不在改变书名和作者

pull/348/head
gedoor 4 years ago
parent 64e55854f7
commit 6ea1cba8c0
  1. 14
      app/src/main/java/io/legado/app/model/webBook/BookInfo.kt
  2. 5
      app/src/main/java/io/legado/app/model/webBook/WebBook.kt
  3. 4
      app/src/main/java/io/legado/app/ui/book/read/ReadBookViewModel.kt

@ -2,7 +2,6 @@ package io.legado.app.model.webBook
import io.legado.app.App
import io.legado.app.R
import io.legado.app.constant.AppPattern
import io.legado.app.data.entities.Book
import io.legado.app.data.entities.BookSource
import io.legado.app.help.BookHelp
@ -19,7 +18,8 @@ object BookInfo {
book: Book,
body: String?,
bookSource: BookSource,
baseUrl: String
baseUrl: String,
canReName: Boolean,
) {
body ?: throw Exception(
App.INSTANCE.getString(R.string.error_get_web_content, baseUrl)
@ -35,13 +35,17 @@ object BookInfo {
}
}
Debug.log(bookSource.bookSourceUrl, "┌获取书名")
BookHelp.formatBookName(analyzeRule.getString(infoRule.name)).trim { it <= ' ' }.let {
if (it.isNotEmpty()) book.name = it
BookHelp.formatBookName(analyzeRule.getString(infoRule.name)).let {
if (it.isNotEmpty() && canReName) {
book.name = it
}
}
Debug.log(bookSource.bookSourceUrl, "${book.name}")
Debug.log(bookSource.bookSourceUrl, "┌获取作者")
BookHelp.formatBookAuthor(analyzeRule.getString(infoRule.author)).let {
if (it.isNotEmpty()) book.author = it.replace(AppPattern.authorRegex, "")
if (it.isNotEmpty() && canReName) {
book.author = it
}
}
Debug.log(bookSource.bookSourceUrl, "${book.author}")
Debug.log(bookSource.bookSourceUrl, "┌获取分类")

@ -90,7 +90,8 @@ class WebBook(val bookSource: BookSource) {
fun getBookInfo(
book: Book,
scope: CoroutineScope = Coroutine.DEFAULT,
context: CoroutineContext = Dispatchers.IO
context: CoroutineContext = Dispatchers.IO,
canReName: Boolean = true,
): Coroutine<Book> {
return Coroutine.async(scope, context) {
book.type = bookSource.bookSourceType
@ -106,7 +107,7 @@ class WebBook(val bookSource: BookSource) {
)
analyzeUrl.getResponseAwait(bookSource.bookSourceUrl).body
}
BookInfo.analyzeBookInfo(book, body, bookSource, book.bookUrl)
BookInfo.analyzeBookInfo(book, body, bookSource, book.bookUrl, canReName)
book
}
}

@ -10,8 +10,8 @@ import io.legado.app.data.entities.BookChapter
import io.legado.app.help.AppConfig
import io.legado.app.help.BookHelp
import io.legado.app.help.IntentDataHelp
import io.legado.app.model.webBook.WebBook
import io.legado.app.model.localBook.LocalBook
import io.legado.app.model.webBook.WebBook
import io.legado.app.service.BaseReadAloudService
import io.legado.app.service.help.ReadAloud
import io.legado.app.service.help.ReadBook
@ -95,7 +95,7 @@ class ReadBookViewModel(application: Application) : BaseViewModel(application) {
if (book.isLocalBook()) {
loadChapterList(book, changeDruChapterIndex)
} else {
ReadBook.webBook?.getBookInfo(book, this)
ReadBook.webBook?.getBookInfo(book, this, canReName = false)
?.onSuccess {
loadChapterList(book, changeDruChapterIndex)
}

Loading…
Cancel
Save