Show batoto staff notice if updating chapters failed

This commit is contained in:
Robin Appelman
2016-02-11 22:59:24 +01:00
parent cb3c3af865
commit 393b4916f6
4 changed files with 20 additions and 4 deletions

View File

@@ -34,6 +34,8 @@ public abstract class Source extends BaseSource {
protected Headers requestHeaders;
protected LazyHeaders glideHeaders;
protected String lastError;
public Source() {}
public Source(Context context) {
@@ -88,7 +90,7 @@ public abstract class Source extends BaseSource {
List<Chapter> chapters = parseHtmlToChapters(unparsedHtml);
return !chapters.isEmpty() ?
Observable.just(chapters) :
Observable.error(new Exception("No chapters found"));
Observable.error(new Exception((getLastError().equals("")) ? "No chapters found" : getLastError()));
});
}
@@ -216,4 +218,7 @@ public abstract class Source extends BaseSource {
return glideHeaders;
}
public String getLastError() {
return lastError;
}
}

View File

@@ -24,6 +24,7 @@ import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import eu.kanade.tachiyomi.R;
import eu.kanade.tachiyomi.data.database.models.Chapter;
import eu.kanade.tachiyomi.data.database.models.Manga;
import eu.kanade.tachiyomi.data.source.SourceManager;
@@ -31,6 +32,7 @@ import eu.kanade.tachiyomi.data.source.base.LoginSource;
import eu.kanade.tachiyomi.data.source.model.MangasPage;
import eu.kanade.tachiyomi.data.source.model.Page;
import eu.kanade.tachiyomi.util.Parser;
import eu.kanade.tachiyomi.util.ToastUtil;
import okhttp3.FormBody;
import okhttp3.Headers;
import okhttp3.Response;
@@ -47,6 +49,8 @@ public class Batoto extends LoginSource {
public static final String MANGA_URL = "/comic_pop?id=%s";
public static final String LOGIN_URL = BASE_URL + "/forums/index.php?app=core&module=global&section=login";
public static final Pattern staffNotice = Pattern.compile("=+Batoto Staff Notice=+([^=]+)=+", Pattern.CASE_INSENSITIVE);
private Pattern datePattern;
private Map<String, Integer> dateFields;
@@ -204,6 +208,13 @@ public class Batoto extends LoginSource {
@Override
protected List<Chapter> parseHtmlToChapters(String unparsedHtml) {
Matcher matcher = staffNotice.matcher(unparsedHtml);
if (matcher.find()) {
this.lastError = matcher.group(1);
} else {
lastError = "";
}
Document parsedDocument = Jsoup.parse(unparsedHtml);
List<Chapter> chapterList = new ArrayList<>();