调试订阅添加查看源码

pull/940/head
gedoor 4 years ago
parent 83d1da4947
commit 86cb09a83b
  1. 3
      app/src/main/java/io/legado/app/help/JsExtensions.kt
  2. 7
      app/src/main/java/io/legado/app/model/rss/Rss.kt
  3. 1
      app/src/main/java/io/legado/app/model/rss/RssParserByRule.kt
  4. 20
      app/src/main/java/io/legado/app/ui/rss/read/ReadRssViewModel.kt

@ -334,7 +334,8 @@ interface JsExtensions {
/**
* 输出调试日志
*/
fun log(msg: String) {
fun log(msg: String): String {
Debug.log(msg)
return msg
}
}

@ -3,6 +3,7 @@ package io.legado.app.model.rss
import io.legado.app.data.entities.RssArticle
import io.legado.app.data.entities.RssSource
import io.legado.app.help.coroutine.Coroutine
import io.legado.app.model.Debug
import io.legado.app.model.analyzeRule.AnalyzeRule
import io.legado.app.model.analyzeRule.AnalyzeUrl
import io.legado.app.model.analyzeRule.RuleData
@ -38,7 +39,7 @@ object Rss {
scope: CoroutineScope,
rssArticle: RssArticle,
ruleContent: String,
rssSource: RssSource?,
rssSource: RssSource,
context: CoroutineContext = Dispatchers.IO
): Coroutine<String> {
return Coroutine.async(scope, context) {
@ -46,9 +47,11 @@ object Rss {
rssArticle.link,
baseUrl = rssArticle.origin,
ruleData = rssArticle,
headerMapF = rssSource?.getHeaderMap()
headerMapF = rssSource.getHeaderMap()
)
val body = analyzeUrl.getStrResponse(rssArticle.origin).body
Debug.log(rssSource.sourceUrl, "≡获取成功:${rssSource.sourceUrl}")
Debug.log(rssSource.sourceUrl, body, state = 20)
val analyzeRule = AnalyzeRule(rssArticle)
analyzeRule.setContent(body)
.setBaseUrl(NetworkUtils.getAbsoluteURL(rssArticle.origin, rssArticle.link))

@ -31,6 +31,7 @@ object RssParserByRule {
)
}
Debug.log(sourceUrl, "≡获取成功:$sourceUrl")
Debug.log(sourceUrl, body, state = 10)
var ruleArticles = rssSource.ruleArticles
if (ruleArticles.isNullOrBlank()) {
Debug.log(sourceUrl, "⇒列表规则为空, 使用默认规则解析")

@ -94,16 +94,18 @@ class ReadRssViewModel(application: Application) : BaseViewModel(application),
}
private fun loadContent(rssArticle: RssArticle, ruleContent: String) {
Rss.getContent(this, rssArticle, ruleContent, rssSource)
.onSuccess(IO) { body ->
rssArticle.description = body
appDb.rssArticleDao.insert(rssArticle)
rssStar?.let {
it.description = body
appDb.rssStarDao.insert(it)
rssSource?.let { source ->
Rss.getContent(this, rssArticle, ruleContent, source)
.onSuccess(IO) { body ->
rssArticle.description = body
appDb.rssArticleDao.insert(rssArticle)
rssStar?.let {
it.description = body
appDb.rssStarDao.insert(it)
}
contentLiveData.postValue(body)
}
contentLiveData.postValue(body)
}
}
}
fun favorite() {

Loading…
Cancel
Save