pull/1061/head
gedoor 3 years ago
parent 7203a948a5
commit 47106522bc
  1. 20
      app/src/main/java/io/legado/app/model/localBook/LocalBook.kt

@ -2,19 +2,19 @@ package io.legado.app.model.localBook
import android.net.Uri
import androidx.documentfile.provider.DocumentFile
import io.legado.app.constant.AppConst
import io.legado.app.constant.AppPattern
import io.legado.app.data.appDb
import io.legado.app.data.entities.Book
import io.legado.app.data.entities.BookChapter
import io.legado.app.help.AppConfig
import io.legado.app.help.BookHelp
import io.legado.app.utils.*
import splitties.init.appCtx
import java.io.File
import java.util.regex.Matcher
import java.util.regex.Pattern
import io.legado.app.constant.AppConst
import io.legado.app.constant.AppPattern
import io.legado.app.help.AppConfig
import javax.script.SimpleBindings
import java.util.regex.Matcher
object LocalBook {
private const val folderName = "bookTxt"
@ -74,9 +74,7 @@ object LocalBook {
.compile("(^)(.+) by (.+)$")
.matcher(fileName)
(m1.takeIf { m1.find() }
?: m2.takeIf { m2.find() }
). run{
(m1.takeIf { m1.find() } ?: m2.takeIf { m2.find() }).run {
if (this is Matcher) {
@ -92,8 +90,9 @@ object LocalBook {
val jsonStr = AppConst.SCRIPT_ENGINE.eval(
//在用户脚本后添加捕获author、name的代码,只要脚本中author、name有值就会被捕获,未定义则赋值为空字符串
AppConfig.bookImportFileName + "\nJSON.stringify({author:author,name:name})"
, bindings).toString()
AppConfig.bookImportFileName + "\nJSON.stringify({author:author,name:name})",
bindings
).toString()
val bookMess = GSON.fromJsonObject<HashMap<String, String>>(jsonStr) ?: HashMap()
name = bookMess["name"] ?: fileName
author = bookMess["author"]?.takeIf { it.length != fileName.length } ?: ""
@ -101,7 +100,8 @@ object LocalBook {
} else {
name = fileName.replace(AppPattern.nameRegex, "")
author = fileName.replace(AppPattern.authorRegex,"").takeIf { it.length != fileName.length } ?: ""
author = fileName.replace(AppPattern.authorRegex, "")
.takeIf { it.length != fileName.length } ?: ""
}

Loading…
Cancel
Save