diff --git a/src/main/java/com/rarchives/ripme/ripper/rippers/CfakeRipper.java b/src/main/java/com/rarchives/ripme/ripper/rippers/CfakeRipper.java index 7ccf558c..a217944d 100644 --- a/src/main/java/com/rarchives/ripme/ripper/rippers/CfakeRipper.java +++ b/src/main/java/com/rarchives/ripme/ripper/rippers/CfakeRipper.java @@ -50,6 +50,7 @@ public class CfakeRipper extends AbstractHTMLRipper { @Override public Document getNextPage(Document doc) throws IOException { // Find next page + @SuppressWarnings("unused") String nextUrl = ""; // We use comic-nav-next to the find the next page Element elem = doc.select("td > div.next > a").first(); diff --git a/src/main/java/com/rarchives/ripme/ripper/rippers/ErofusRipper.java b/src/main/java/com/rarchives/ripme/ripper/rippers/ErofusRipper.java index fe063ad8..715f1eb5 100644 --- a/src/main/java/com/rarchives/ripme/ripper/rippers/ErofusRipper.java +++ b/src/main/java/com/rarchives/ripme/ripper/rippers/ErofusRipper.java @@ -59,6 +59,7 @@ public class ErofusRipper extends AbstractHTMLRipper { public List getURLsFromPage(Document page) { logger.info(page); List imageURLs = new ArrayList<>(); + @SuppressWarnings("unused") int x = 1; if (pageContainsImages(page)) { logger.info("Page contains images"); diff --git a/src/main/java/com/rarchives/ripme/ripper/rippers/HentaiNexusRipper.java b/src/main/java/com/rarchives/ripme/ripper/rippers/HentaiNexusRipper.java index 4d28f7a2..70f26b3e 100644 --- a/src/main/java/com/rarchives/ripme/ripper/rippers/HentaiNexusRipper.java +++ b/src/main/java/com/rarchives/ripme/ripper/rippers/HentaiNexusRipper.java @@ -110,6 +110,7 @@ public class HentaiNexusRipper extends AbstractJSONRipper { return ""; } + @SuppressWarnings("unchecked") public String decodeJsonString(String jsonEncodedString) { /* @@ -120,6 +121,7 @@ public class HentaiNexusRipper extends AbstractJSONRipper { byte[] jsonBytes = Base64.getDecoder().decode(jsonEncodedString); + @SuppressWarnings("rawtypes") ArrayList unknownArray = new ArrayList(); ArrayList indexesToUse = new ArrayList<>(); diff --git a/src/main/java/com/rarchives/ripme/ripper/rippers/ImagebamRipper.java b/src/main/java/com/rarchives/ripme/ripper/rippers/ImagebamRipper.java index a4155b62..c137e5f8 100644 --- a/src/main/java/com/rarchives/ripme/ripper/rippers/ImagebamRipper.java +++ b/src/main/java/com/rarchives/ripme/ripper/rippers/ImagebamRipper.java @@ -143,6 +143,7 @@ public class ImagebamRipper extends AbstractHTMLRipper { .get(); // Find image + @SuppressWarnings("unused") Elements metaTags = doc.getElementsByTag("meta"); String imgsrc = "";//initialize, so no NullPointerExceptions should ever happen. diff --git a/src/main/java/com/rarchives/ripme/ripper/rippers/ImagefapRipper.java b/src/main/java/com/rarchives/ripme/ripper/rippers/ImagefapRipper.java index 0f94e7c4..375ea06c 100644 --- a/src/main/java/com/rarchives/ripme/ripper/rippers/ImagefapRipper.java +++ b/src/main/java/com/rarchives/ripme/ripper/rippers/ImagefapRipper.java @@ -308,7 +308,7 @@ public class ImagefapRipper extends AbstractHTMLRipper { } else if(duration / 1000 < 300){ logger.debug("Rate limit: " + (rateLimitFiveMinutes - callsMade) + " calls remaining for first 5 minute mark."); } else if(duration / 1000 < 3600){ - logger.debug("Rate limit: " + (RATE_LIMIT_HOUR - callsMade) + " calls remaining for first hour mark."); + logger.debug("Rate limit: " + (rateLimitHour - callsMade) + " calls remaining for first hour mark."); } return duration; diff --git a/src/main/java/com/rarchives/ripme/ripper/rippers/ImgboxRipper.java b/src/main/java/com/rarchives/ripme/ripper/rippers/ImgboxRipper.java index b32fcad4..db2e8d96 100644 --- a/src/main/java/com/rarchives/ripme/ripper/rippers/ImgboxRipper.java +++ b/src/main/java/com/rarchives/ripme/ripper/rippers/ImgboxRipper.java @@ -12,7 +12,6 @@ import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import com.rarchives.ripme.ripper.AbstractHTMLRipper; -import com.rarchives.ripme.utils.Http; public class ImgboxRipper extends AbstractHTMLRipper { diff --git a/src/main/java/com/rarchives/ripme/ripper/rippers/KingcomixRipper.java b/src/main/java/com/rarchives/ripme/ripper/rippers/KingcomixRipper.java index bb8194bc..9c1a61d6 100644 --- a/src/main/java/com/rarchives/ripme/ripper/rippers/KingcomixRipper.java +++ b/src/main/java/com/rarchives/ripme/ripper/rippers/KingcomixRipper.java @@ -12,7 +12,6 @@ import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import com.rarchives.ripme.ripper.AbstractHTMLRipper; -import com.rarchives.ripme.utils.Http; public class KingcomixRipper extends AbstractHTMLRipper { diff --git a/src/main/java/com/rarchives/ripme/ripper/rippers/PawooRipper.java b/src/main/java/com/rarchives/ripme/ripper/rippers/PawooRipper.java index 100068ed..eac0d514 100644 --- a/src/main/java/com/rarchives/ripme/ripper/rippers/PawooRipper.java +++ b/src/main/java/com/rarchives/ripme/ripper/rippers/PawooRipper.java @@ -3,11 +3,6 @@ package com.rarchives.ripme.ripper.rippers; import java.io.IOException; import java.net.URL; -import com.rarchives.ripme.utils.Http; - -import org.jsoup.nodes.Document; -import org.jsoup.select.Elements; - public class PawooRipper extends MastodonRipper { public PawooRipper(URL url) throws IOException { super(url); diff --git a/src/main/java/com/rarchives/ripme/ripper/rippers/PorncomixRipper.java b/src/main/java/com/rarchives/ripme/ripper/rippers/PorncomixRipper.java index f021269f..ac684af7 100644 --- a/src/main/java/com/rarchives/ripme/ripper/rippers/PorncomixRipper.java +++ b/src/main/java/com/rarchives/ripme/ripper/rippers/PorncomixRipper.java @@ -12,7 +12,7 @@ import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import com.rarchives.ripme.ripper.AbstractHTMLRipper; -import com.rarchives.ripme.utils.Http; +//import com.rarchives.ripme.utils.Http; public class PorncomixRipper extends AbstractHTMLRipper { diff --git a/src/main/java/com/rarchives/ripme/ripper/rippers/PorncomixinfoRipper.java b/src/main/java/com/rarchives/ripme/ripper/rippers/PorncomixinfoRipper.java index 8aef59a6..5e6c9ce5 100644 --- a/src/main/java/com/rarchives/ripme/ripper/rippers/PorncomixinfoRipper.java +++ b/src/main/java/com/rarchives/ripme/ripper/rippers/PorncomixinfoRipper.java @@ -44,7 +44,7 @@ public class PorncomixinfoRipper extends AbstractHTMLRipper { @Override public Document getNextPage(Document doc) throws IOException { // Find next page - String nextUrl = ""; + // String nextUrl = ""; // We use comic-nav-next to the find the next page Element elem = doc.select("a.next_page").first(); if (elem == null) { diff --git a/src/main/java/com/rarchives/ripme/ripper/rippers/RedditRipper.java b/src/main/java/com/rarchives/ripme/ripper/rippers/RedditRipper.java index 2419cd03..c937075e 100644 --- a/src/main/java/com/rarchives/ripme/ripper/rippers/RedditRipper.java +++ b/src/main/java/com/rarchives/ripme/ripper/rippers/RedditRipper.java @@ -15,6 +15,7 @@ import static j2html.TagCreator.title; import java.io.IOException; import java.io.OutputStream; +import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.net.URI; import java.net.URISyntaxException; @@ -33,8 +34,9 @@ import org.json.JSONException; import org.json.JSONObject; import org.json.JSONTokener; import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; -import com.rarchives.ripme.ripper.AlbumRipper; +import com.rarchives.ripme.ripper.AbstractHTMLRipper; import com.rarchives.ripme.ui.RipStatusMessage; import com.rarchives.ripme.ui.UpdateUtils; import com.rarchives.ripme.utils.Http; @@ -45,7 +47,7 @@ import j2html.TagCreator; import j2html.tags.ContainerTag; import j2html.tags.specialized.DivTag; -public class RedditRipper extends AlbumRipper { +public class RedditRipper extends AbstractHTMLRipper{ private static final Logger logger = LogManager.getLogger(RedditRipper.class); @@ -532,4 +534,22 @@ public class RedditRipper extends AlbumRipper { private static final String HTML_STYLING = " .author { font-weight: bold; } .op { color: blue; } .comment { border: 0px; margin: 0 0 25px; padding-left: 5px; } .child { margin: 2px 0 0 20px; border-left: 2px dashed #AAF; } .collapsed { background: darkgrey; margin-bottom: 0; } .collapsed > div { display: none; } .md { max-width: 840px; padding-right: 1em; } h1 { margin: 0; } body { position: relative; background-color: #eeeeec; color: #00000a; font-weight: 400; font-style: normal; font-variant: normal; font-family: Helvetica,Arial,sans-serif; line-height: 1.4 } blockquote { margin: 5px 5px 5px 15px; padding: 1px 1px 1px 15px; max-width: 60em; border: 1px solid #ccc; border-width: 0 0 0 1px; } pre { white-space: pre-wrap; } img, video { max-width: 60vw; max-height: 90vh; object-fit: contain; } .thing { overflow: hidden; margin: 0 5px 3px 40px; border: 1px solid #e0e0e0; background-color: #fcfcfb; } :target > .md { border: 5px solid blue; } .post { margin-bottom: 20px; margin-top: 20px; } .gold { background: goldenrod; } .silver { background: silver; } .platinum { background: aqua; } .deleted { background: #faa; } .md.deleted { background: inherit; border: 5px solid #faa; } .oppost { background-color: #EEF; } blockquote > p { margin: 0; } #related { max-height: 20em; overflow-y: scroll; background-color: #F4FFF4; } #related h3 { position: sticky; top: 0; background-color: white; } .flex { display: flex; flex-flow: wrap; flex-direction: row-reverse; justify-content: flex-end; } "; private static final String HTML_SCRIPT = "document.addEventListener('mousedown', function(e) { var t = e.target; if (t.className == 'author') { t = t.parentElement; } if (t.classList.contains('comment')) { t.classList.toggle('collapsed'); e.preventDefault(); e.stopPropagation(); return false; } });"; + @Override + protected String getDomain() { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'getDomain'"); + } + + @Override + protected List getURLsFromPage(Document page) throws UnsupportedEncodingException, URISyntaxException { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'getURLsFromPage'"); + } + + @Override + protected void downloadURL(URL url, int index) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'downloadURL'"); + } + } diff --git a/src/main/java/com/rarchives/ripme/ui/MainWindow.java b/src/main/java/com/rarchives/ripme/ui/MainWindow.java index 8fb90a39..4fb39699 100644 --- a/src/main/java/com/rarchives/ripme/ui/MainWindow.java +++ b/src/main/java/com/rarchives/ripme/ui/MainWindow.java @@ -146,7 +146,7 @@ public final class MainWindow implements Runnable, RipStatusHandler { } private static void addCheckboxListener(JCheckBox checkBox, String configString) { - checkBox.addActionListener(arg0 -> { + checkBox.addActionListener(_ -> { Utils.setConfigBoolean(configString, checkBox.isSelected()); Utils.configureLogger(); }); @@ -798,7 +798,7 @@ public final class MainWindow implements Runnable, RipStatusHandler { } }); - stopButton.addActionListener(event -> { + stopButton.addActionListener(_ -> { if (ripper != null) { ripper.stop(); isRipping = false; @@ -880,7 +880,7 @@ public final class MainWindow implements Runnable, RipStatusHandler { pack(); }); - historyButtonRemove.addActionListener(event -> { + historyButtonRemove.addActionListener(_ -> { int[] indices = historyTable.getSelectedRows(); for (int i = indices.length - 1; i >= 0; i--) { int modelIndex = historyTable.convertRowIndexToModel(indices[i]); @@ -894,7 +894,7 @@ public final class MainWindow implements Runnable, RipStatusHandler { saveHistory(); }); - historyButtonClear.addActionListener(event -> { + historyButtonClear.addActionListener(_ -> { if (Utils.getConfigBoolean("history.warn_before_delete", true)) { JPanel checkChoise = new JPanel(); @@ -912,8 +912,8 @@ public final class MainWindow implements Runnable, RipStatusHandler { frame.setSize(405, 70); frame.setVisible(true); frame.setLocationRelativeTo(null); - noButton.addActionListener(e -> frame.setVisible(false)); - yesButton.addActionListener(ed -> { + noButton.addActionListener(_ -> frame.setVisible(false)); + yesButton.addActionListener(_ -> { frame.setVisible(false); Utils.clearURLHistory(); HISTORY.clear(); diff --git a/src/main/java/com/rarchives/ripme/utils/Http.java b/src/main/java/com/rarchives/ripme/utils/Http.java index a1705f5a..6d37255c 100644 --- a/src/main/java/com/rarchives/ripme/utils/Http.java +++ b/src/main/java/com/rarchives/ripme/utils/Http.java @@ -252,7 +252,7 @@ public class Http { SSLContext sslContext = SSLContext.getInstance("SSL"); sslContext.init(null, trustAllCerts, new SecureRandom()); HttpsURLConnection.setDefaultSSLSocketFactory(sslContext.getSocketFactory()); - HostnameVerifier allHostsValid = (hostname, session) -> true; + HostnameVerifier allHostsValid = (_, _) -> true; HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid); } catch (Exception e) { logger.error("ignoreSSLVerification() failed."); diff --git a/src/test/java/com/rarchives/ripme/tst/ripper/rippers/DeviantartRipperTest.java b/src/test/java/com/rarchives/ripme/tst/ripper/rippers/DeviantartRipperTest.java index 0eab5861..1a23c4ae 100644 --- a/src/test/java/com/rarchives/ripme/tst/ripper/rippers/DeviantartRipperTest.java +++ b/src/test/java/com/rarchives/ripme/tst/ripper/rippers/DeviantartRipperTest.java @@ -8,8 +8,6 @@ import java.util.ArrayList; import java.util.List; import com.rarchives.ripme.ripper.rippers.DeviantartRipper; -import com.rarchives.ripme.utils.Http; -import org.jsoup.nodes.Document; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -50,11 +48,6 @@ public class DeviantartRipperTest extends RippersTest { @Disabled("Broken ripper") public void testGetGalleryIDAndUsername() throws IOException, URISyntaxException { URL url = new URI("https://www.deviantart.com/airgee/gallery/").toURL(); - DeviantartRipper ripper = new DeviantartRipper(url); - Document doc = Http.url(url).get(); - // Had to comment because of refactoring/style change - // assertEquals("airgee", ripper.getUsername(doc)); - // assertEquals("714589", ripper.getGalleryID(doc)); } @Test