Added quick queue support for hentai2read ripper

This commit is contained in:
cyian-1756 2018-05-20 13:06:15 -04:00
parent f8176a8143
commit 7dbc3cfd9f

View File

@ -31,21 +31,50 @@ public class Hentai2readRipper extends AbstractHTMLRipper {
return "hentai2read.com"; return "hentai2read.com";
} }
@Override
public boolean hasQueueSupport() {
return true;
}
@Override
public boolean pageContainsAlbums(URL url) {
logger.info("Page contains albums");
Pattern pat = Pattern.compile("https?://hentai2read\\.com/([a-zA-Z0-9_-]*)/?");
Matcher mat = pat.matcher(url.toExternalForm());
if (mat.matches()) {
return true;
}
return false;
}
@Override
public List<String> getAlbumsToQueue(Document doc) {
List<String> urlsToAddToQueue = new ArrayList<>();
for (Element elem : doc.select(".nav-chapters > li > div.media > a")) {
urlsToAddToQueue.add(elem.attr("href"));
}
return urlsToAddToQueue;
}
@Override @Override
public String getGID(URL url) throws MalformedURLException { public String getGID(URL url) throws MalformedURLException {
Pattern p = Pattern.compile("https?://hentai2read\\.com/([a-zA-Z0-9_-]*)/(\\d)?/?"); Pattern p = Pattern.compile("https?://hentai2read\\.com/([a-zA-Z0-9_-]*)/(\\d+)?/?");
Matcher m = p.matcher(url.toExternalForm()); Matcher m = p.matcher(url.toExternalForm());
if (m.matches()) { if (m.matches()) {
return m.group(1); return m.group(1) + "_" + m.group(2);
} }
throw new MalformedURLException("Expected hentai2read.com URL format: " + throw new MalformedURLException("Expected hentai2read.com URL format: " +
"hbrowse.com/COMICID - got " + url + " instead"); "hentai2read.com/COMICID - got " + url + " instead");
} }
@Override @Override
public Document getFirstPage() throws IOException { public Document getFirstPage() throws IOException {
String thumbnailLink; String thumbnailLink;
try { try {
// If the page contains albums we want to load the main page
if (pageContainsAlbums(url)) {
return Http.url(url).get();
}
Document tempDoc; Document tempDoc;
tempDoc = Http.url(url).get(); tempDoc = Http.url(url).get();
// Get the thumbnail page so we can rip all images without loading every page in the comic // Get the thumbnail page so we can rip all images without loading every page in the comic