Better error handling for images

This commit is contained in:
inorichi
2015-10-27 17:12:16 +01:00
parent 35b8be6c75
commit 68e5efb02b
11 changed files with 69 additions and 39 deletions

View File

@@ -80,9 +80,10 @@ public abstract class Source extends BaseSource {
public Observable<Page> getRemainingImageUrlsFromPageList(final List<Page> pages) {
return Observable.from(pages)
.filter(page -> page.getImageUrl() == null)
.doOnNext(page -> page.setStatus(Page.DOWNLOAD))
.window(overrideNumberOfConcurrentPageDownloads())
.concatMap(batchedPages ->
batchedPages.concatMap(this::getImageUrlFromPage)
batchedPages.concatMap(this::getImageUrlFromPage)
);
}
@@ -90,6 +91,10 @@ public abstract class Source extends BaseSource {
return mNetworkService
.getStringResponse(overrideRemainingPagesUrl(page.getUrl()), mRequestHeaders, null)
.flatMap(unparsedHtml -> Observable.just(parseHtmlToImageUrl(unparsedHtml)))
.onErrorResumeNext(e -> {
page.setStatus(Page.ERROR);
return Observable.just(null);
})
.flatMap(imageUrl -> {
page.setImageUrl(imageUrl);
return Observable.just(page);