From da689a3c4d06223c1fcc9881e82120b02407a5e3 Mon Sep 17 00:00:00 2001 From: Horis <821938089@qq.com> Date: Mon, 31 Oct 2022 22:08:24 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/io/legado/app/model/analyzeRule/AnalyzeUrl.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeUrl.kt b/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeUrl.kt index f0f9ce1c1..ec5933448 100644 --- a/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeUrl.kt +++ b/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeUrl.kt @@ -108,6 +108,7 @@ class AnalyzeUrl( var start = 0 var tmp: String val jsMatcher = JS_PATTERN.matcher(ruleUrl) + var hasRule = true while (jsMatcher.find()) { if (jsMatcher.start() > start) { tmp = @@ -118,8 +119,11 @@ class AnalyzeUrl( } ruleUrl = evalJS(jsMatcher.group(2) ?: jsMatcher.group(1), ruleUrl) as String start = jsMatcher.end() + if (jsMatcher.group(0)!!.startsWith("@js:", true)) { + hasRule = false + } } - if (ruleUrl.length > start) { + if (ruleUrl.length > start && hasRule) { tmp = ruleUrl.substring(start).trim { it <= ' ' } if (tmp.isNotEmpty()) { ruleUrl = tmp.replace("@result", ruleUrl) From ad372baa215f49ba28a1e236df821a1b40aa42a2 Mon Sep 17 00:00:00 2001 From: Xwite <82232510+Xwite@users.noreply.github.com> Date: Tue, 1 Nov 2022 13:50:30 +0800 Subject: [PATCH 2/4] fix: RssSource miss variableComment close #2509 --- app/src/main/java/io/legado/app/data/entities/RssSource.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/io/legado/app/data/entities/RssSource.kt b/app/src/main/java/io/legado/app/data/entities/RssSource.kt index 657c77473..700ffff06 100644 --- a/app/src/main/java/io/legado/app/data/entities/RssSource.kt +++ b/app/src/main/java/io/legado/app/data/entities/RssSource.kt @@ -108,6 +108,7 @@ data class RssSource( && equal(ruleContent, source.ruleContent) && enableJs == source.enableJs && loadWithBaseUrl == source.loadWithBaseUrl + && equa(variableComment, source.variableComment) } private fun equal(a: String?, b: String?): Boolean { @@ -182,7 +183,8 @@ data class RssSource( enabledCookieJar = doc.readBool("$.enabledCookieJar") ?: false, customOrder = doc.readInt("$.customOrder") ?: 0, lastUpdateTime = doc.readLong("$.lastUpdateTime") ?: 0L, - coverDecodeJs = doc.readString("$.coverDecodeJs") + coverDecodeJs = doc.readString("$.coverDecodeJs"), + variableComment = doc.readString("$.variableComment") ) } } @@ -206,4 +208,4 @@ data class RssSource( } } -} \ No newline at end of file +} From 22d16405e34819ac3603da9972985493a8838830 Mon Sep 17 00:00:00 2001 From: Xwite <82232510+Xwite@users.noreply.github.com> Date: Tue, 1 Nov 2022 13:57:08 +0800 Subject: [PATCH 3/4] Update RssSource.kt --- app/src/main/java/io/legado/app/data/entities/RssSource.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/io/legado/app/data/entities/RssSource.kt b/app/src/main/java/io/legado/app/data/entities/RssSource.kt index 700ffff06..5baa679a3 100644 --- a/app/src/main/java/io/legado/app/data/entities/RssSource.kt +++ b/app/src/main/java/io/legado/app/data/entities/RssSource.kt @@ -108,7 +108,7 @@ data class RssSource( && equal(ruleContent, source.ruleContent) && enableJs == source.enableJs && loadWithBaseUrl == source.loadWithBaseUrl - && equa(variableComment, source.variableComment) + && equal(variableComment, source.variableComment) } private fun equal(a: String?, b: String?): Boolean { From efd8efad85d4bf228d62735fe8ce076c80d9497d Mon Sep 17 00:00:00 2001 From: Xwite <82232510+Xwite@users.noreply.github.com> Date: Tue, 1 Nov 2022 14:21:28 +0800 Subject: [PATCH 4/4] Update RssSourceDao.kt --- app/src/main/java/io/legado/app/data/dao/RssSourceDao.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/io/legado/app/data/dao/RssSourceDao.kt b/app/src/main/java/io/legado/app/data/dao/RssSourceDao.kt index cf91fdfad..fa11d3e8b 100644 --- a/app/src/main/java/io/legado/app/data/dao/RssSourceDao.kt +++ b/app/src/main/java/io/legado/app/data/dao/RssSourceDao.kt @@ -17,7 +17,7 @@ interface RssSourceDao { @Query("select * from rssSources where sourceUrl in (:sourceUrls)") fun getRssSources(vararg sourceUrls: String): List - @get:Query("SELECT * FROM rssSources") + @get:Query("SELECT * FROM rssSources order by customOrder") val all: List @get:Query("select count(sourceUrl) from rssSources") @@ -135,4 +135,4 @@ interface RssSourceDao { dealGroups(list) } } -} \ No newline at end of file +}