From bb60779469a8c833645c848f6aff7338fcfefb50 Mon Sep 17 00:00:00 2001 From: cyian-1756 Date: Thu, 17 May 2018 20:07:16 -0400 Subject: [PATCH] Removed getnextpage; add support for quickQueue --- .../ripme/ripper/rippers/BatoRipper.java | 44 +++++++++++++------ 1 file changed, 30 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/rarchives/ripme/ripper/rippers/BatoRipper.java b/src/main/java/com/rarchives/ripme/ripper/rippers/BatoRipper.java index 6578b7b1..a3350e68 100644 --- a/src/main/java/com/rarchives/ripme/ripper/rippers/BatoRipper.java +++ b/src/main/java/com/rarchives/ripme/ripper/rippers/BatoRipper.java @@ -38,10 +38,40 @@ public class BatoRipper extends AbstractHTMLRipper { if (m.matches()) { return m.group(1); } + // As this is just for quick queue support it does matter what this if returns + p = Pattern.compile("https?://bato.to/series/([\\d]+)/?"); + m = p.matcher(url.toExternalForm()); + if (m.matches()) { + return ""; + } throw new MalformedURLException("Expected bato.to URL format: " + "bato.to/chapter/ID - got " + url + " instead"); } + @Override + public boolean hasQueueSupport() { + return true; + } + + @Override + public boolean pageContainsAlbums(URL url) { + Pattern p = Pattern.compile("https?://bato.to/series/([\\d]+)/?"); + Matcher m = p.matcher(url.toExternalForm()); + if (m.matches()) { + return true; + } + return false; + } + + @Override + public List getAlbumsToQueue(Document doc) { + List urlsToAddToQueue = new ArrayList<>(); + for (Element elem : doc.select("div.main > div > a")) { + urlsToAddToQueue.add("https://" + getDomain() + elem.attr("href")); + } + return urlsToAddToQueue; + } + @Override public String getAlbumTitle(URL url) throws MalformedURLException { try { @@ -76,20 +106,6 @@ public class BatoRipper extends AbstractHTMLRipper { return Http.url(url).get(); } - @Override - public Document getNextPage(Document doc) throws IOException { - // Find next page - String nextUrl = ""; - // We use comic-nav-next to the find the next page - Element elem = doc.select("div.nav-next > a").first(); - // If there are no more chapters to download the last chapter will link to bato.to/series/ID - if (elem == null || elem.attr("href").contains("/series/")) { - throw new IOException("No more pages"); - } - String nextPage = elem.attr("href"); - return Http.url("https://bato.to" + nextPage).get(); - } - @Override public List getURLsFromPage(Document doc) { List result = new ArrayList<>();