pull/32/head
parent
a385977aca
commit
d4153b5d43
@ -1,5 +1,47 @@ |
||||
package io.legado.app.model.webbook |
||||
|
||||
object BookChapterList { |
||||
import io.legado.app.App |
||||
import io.legado.app.R |
||||
import io.legado.app.data.entities.Book |
||||
import io.legado.app.data.entities.BookChapter |
||||
import io.legado.app.data.entities.BookSource |
||||
import io.legado.app.data.entities.rule.TocRule |
||||
import io.legado.app.model.analyzeRule.AnalyzeUrl |
||||
import io.legado.app.utils.NetworkUtils |
||||
import retrofit2.Response |
||||
|
||||
class BookChapterList { |
||||
|
||||
fun analyzeChapterList( |
||||
book: Book, |
||||
response: Response<String>, |
||||
bookSource: BookSource, |
||||
analyzeUrl: AnalyzeUrl |
||||
): List<BookChapter> { |
||||
val chapterList = arrayListOf<BookChapter>() |
||||
val baseUrl: String = NetworkUtils.getUrl(response) |
||||
val body: String? = response.body() |
||||
body ?: throw Exception( |
||||
App.INSTANCE.getString( |
||||
R.string.get_web_content_error, |
||||
baseUrl |
||||
) |
||||
) |
||||
val tocRule = bookSource.getTocRule() |
||||
val nextUrlList = arrayListOf(baseUrl) |
||||
val chapterData = analyzeChapterList(body, tocRule) |
||||
chapterList.addAll(chapterData.chapterList) |
||||
|
||||
|
||||
return chapterList |
||||
} |
||||
|
||||
private fun analyzeChapterList(body: String, tocRule: TocRule): ChapterData { |
||||
val chapterList = arrayListOf<BookChapter>() |
||||
val nextUrlList = arrayListOf<String>() |
||||
|
||||
|
||||
return ChapterData(chapterList, nextUrlList) |
||||
} |
||||
|
||||
} |
@ -0,0 +1,8 @@ |
||||
package io.legado.app.model.webbook |
||||
|
||||
import io.legado.app.data.entities.BookChapter |
||||
|
||||
data class ChapterData( |
||||
var chapterList: List<BookChapter>, |
||||
var nextUrlList: List<String> |
||||
) |
Loading…
Reference in new issue