From 5337ca4713c5bac7c0307dbbc2e22859cc568a1f Mon Sep 17 00:00:00 2001 From: ag2s20150909 Date: Thu, 17 Jun 2021 17:50:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=AF=BC=E5=85=A5=E6=9C=AC?= =?UTF-8?q?=E5=9C=B0txt=E6=97=B6=E6=98=BE=E7=A4=BA=E4=B8=BA=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E4=B9=A6=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 2 +- .../io/legado/app/model/localBook/EpubFile.kt | 4 +++- .../legado/app/model/localBook/LocalBook.kt | 20 ++++++++++--------- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 0b7ba28a4..4650a16a3 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -203,6 +203,6 @@ dependencies { implementation 'io.noties.markwon:html:4.6.0' //转换繁体 - implementation 'com.github.liuyueyi.quick-chinese-transfer:quick-transfer-core:0.1.3' + implementation 'com.github.liuyueyi.quick-chinese-transfer:quick-transfer-core:0.2.0' } \ No newline at end of file diff --git a/app/src/main/java/io/legado/app/model/localBook/EpubFile.kt b/app/src/main/java/io/legado/app/model/localBook/EpubFile.kt index b80540f74..bbcb6753b 100644 --- a/app/src/main/java/io/legado/app/model/localBook/EpubFile.kt +++ b/app/src/main/java/io/legado/app/model/localBook/EpubFile.kt @@ -30,6 +30,8 @@ class EpubFile(var book: Book) { @Synchronized private fun getEFile(book: Book): EpubFile { BookHelp.getEpubFile(book) + //对于Epub文件默认不启用替换 + book.setUseReplaceRule(false) if (eFile == null || eFile?.book?.bookUrl != book.bookUrl) { eFile = EpubFile(book) return eFile!! @@ -135,7 +137,7 @@ class EpubFile(var book: Book) { /*选择去除正文中的H标签,部分书籍标题与阅读标题重复待优化*/ var tag = Book.hTag - if (book.getDelTag(tag)) { + if (book.getUseReplaceRule()) { body.getElementsByTag("h1")?.remove() body.getElementsByTag("h2")?.remove() body.getElementsByTag("h3")?.remove() diff --git a/app/src/main/java/io/legado/app/model/localBook/LocalBook.kt b/app/src/main/java/io/legado/app/model/localBook/LocalBook.kt index 980b39395..3aea6d748 100644 --- a/app/src/main/java/io/legado/app/model/localBook/LocalBook.kt +++ b/app/src/main/java/io/legado/app/model/localBook/LocalBook.kt @@ -43,6 +43,7 @@ object LocalBook { fun importFile(uri: Uri): Book { val path: String + //这个变量不要修改,否则会导致读取不到缓存 val fileName = (if (uri.isContentScheme()) { path = uri.toString() val doc = DocumentFile.fromSingleUri(appCtx, uri) @@ -59,7 +60,8 @@ object LocalBook { } else { path = uri.path!! File(path).name - }).replace(Regex("\\.txt$"), "") + }) + val tempFileName=fileName.replace(Regex("\\.txt$"), "") val name: String val author: String @@ -67,12 +69,12 @@ object LocalBook { //匹配(知轩藏书常用格式) 《书名》其它信息作者:作者名.txt val m1 = Pattern .compile("(.*?)《([^《》]+)》(.*)") - .matcher(fileName) + .matcher(tempFileName) //匹配 书名 by 作者名.txt val m2 = Pattern .compile("(^)(.+) by (.+)$") - .matcher(fileName) + .matcher(tempFileName) (m1.takeIf { m1.find() } ?: m2.takeIf { m2.find() }).run { @@ -91,17 +93,17 @@ object LocalBook { AppConfig.bookImportFileName + "\nJSON.stringify({author:author,name:name})", //将文件名注入到脚步的src变量中 - SimpleBindings().also{ it["src"] = fileName } + SimpleBindings().also{ it["src"] = tempFileName } ).toString() val bookMess = GSON.fromJsonObject>(jsonStr) ?: HashMap() - name = bookMess["name"] ?: fileName - author = bookMess["author"]?.takeIf { it.length != fileName.length } ?: "" + name = bookMess["name"] ?: tempFileName + author = bookMess["author"]?.takeIf { it.length != tempFileName.length } ?: "" } else { - name = fileName.replace(AppPattern.nameRegex, "") - author = fileName.replace(AppPattern.authorRegex, "") - .takeIf { it.length != fileName.length } ?: "" + name = tempFileName.replace(AppPattern.nameRegex, "") + author = tempFileName.replace(AppPattern.authorRegex, "") + .takeIf { it.length != tempFileName.length } ?: "" }