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

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

Loading…
Cancel
Save