mirror of
https://github.com/tachiyomiorg/tachiyomi-extensions-inspector.git
synced 2024-06-01 06:48:50 +02:00
26 lines
825 B
Kotlin
26 lines
825 B
Kotlin
package eu.kanade.tachiyomi.source.online
|
|
|
|
import eu.kanade.tachiyomi.source.model.Page
|
|
import rx.Observable
|
|
|
|
fun HttpSource.getImageUrl(page: Page): Observable<Page> {
|
|
page.status = Page.LOAD_PAGE
|
|
return fetchImageUrl(page)
|
|
.doOnError { page.status = Page.ERROR }
|
|
.onErrorReturn { null }
|
|
.doOnNext { page.imageUrl = it }
|
|
.map { page }
|
|
}
|
|
|
|
fun HttpSource.fetchAllImageUrlsFromPageList(pages: List<Page>): Observable<Page> {
|
|
return Observable.from(pages)
|
|
.filter { !it.imageUrl.isNullOrEmpty() }
|
|
.mergeWith(fetchRemainingImageUrlsFromPageList(pages))
|
|
}
|
|
|
|
fun HttpSource.fetchRemainingImageUrlsFromPageList(pages: List<Page>): Observable<Page> {
|
|
return Observable.from(pages)
|
|
.filter { it.imageUrl.isNullOrEmpty() }
|
|
.concatMap { getImageUrl(it) }
|
|
}
|