pull/1352/head
gedoor 3 years ago
parent 0445b81db1
commit ae1fa45eb6
  1. 7
      app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt
  2. 10
      app/src/main/java/io/legado/app/model/webBook/BookChapterList.kt

@ -71,8 +71,10 @@ class AnalyzeRule(
}
fun setRedirectUrl(url: String): URL? {
kotlin.runCatching {
try {
redirectUrl = URL(url)
} catch (e: Exception) {
log("URL($url) error\n${e.localizedMessage}")
}
return redirectUrl
}
@ -237,6 +239,8 @@ class AnalyzeRule(
if (result == null) result = ""
val str = kotlin.runCatching {
Entities.unescape(result.toString())
}.onFailure {
log("Entities.unescape() error\n${it.localizedMessage}")
}.getOrElse {
result.toString()
}
@ -653,6 +657,7 @@ class AnalyzeRule(
val analyzeUrl = AnalyzeUrl(urlStr, book = book, source = source)
analyzeUrl.getStrResponse().body
}.onFailure {
log("ajax(${urlStr}) error\n${it.stackTraceToString()}")
it.printOnDebug()
}.getOrElse {
it.msg

@ -177,9 +177,7 @@ object BookChapterList {
val vipRule = analyzeRule.splitSourceRule(tocRule.isVip)
val payRule = analyzeRule.splitSourceRule(tocRule.isPay)
val upTimeRule = analyzeRule.splitSourceRule(tocRule.updateTime)
var isVip: String?
var isPay: String?
for (item in elements) {
elements.forEachIndexed { index, item ->
scope.ensureActive()
analyzeRule.setContent(item)
val bookChapter = BookChapter(bookUrl = book.bookUrl, baseUrl = baseUrl)
@ -187,13 +185,13 @@ object BookChapterList {
bookChapter.title = analyzeRule.getString(nameRule)
bookChapter.url = analyzeRule.getString(urlRule)
bookChapter.tag = analyzeRule.getString(upTimeRule)
isVip = analyzeRule.getString(vipRule)
isPay = analyzeRule.getString(payRule)
if (bookChapter.url.isEmpty()) {
bookChapter.url = baseUrl
Debug.log(bookSource.bookSourceUrl, "未获取到url,使用baseUrl替代")
Debug.log(bookSource.bookSourceUrl, "目录${index}未获取到url,使用baseUrl替代")
}
if (bookChapter.title.isNotEmpty()) {
val isVip = analyzeRule.getString(vipRule)
val isPay = analyzeRule.getString(payRule)
if (isVip.isNotEmpty() && !isVip.matches(falseRegex)) {
bookChapter.isVip = true
}

Loading…
Cancel
Save