Merge remote-tracking branch 'origin/master'

This commit is contained in:
kunfei 2022-11-01 20:36:44 +08:00
commit a168b526b2
3 changed files with 11 additions and 5 deletions

View File

@ -17,7 +17,7 @@ interface RssSourceDao {
@Query("select * from rssSources where sourceUrl in (:sourceUrls)")
fun getRssSources(vararg sourceUrls: String): List<RssSource>
@get:Query("SELECT * FROM rssSources")
@get:Query("SELECT * FROM rssSources order by customOrder")
val all: List<RssSource>
@get:Query("select count(sourceUrl) from rssSources")
@ -135,4 +135,4 @@ interface RssSourceDao {
dealGroups(list)
}
}
}
}

View File

@ -108,6 +108,7 @@ data class RssSource(
&& equal(ruleContent, source.ruleContent)
&& enableJs == source.enableJs
&& loadWithBaseUrl == source.loadWithBaseUrl
&& equal(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(
}
}
}
}

View File

@ -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)