From 68b13cbbad1b4c7d8a060d29dab4b082758f187b Mon Sep 17 00:00:00 2001 From: cyian-1756 Date: Fri, 22 Jun 2018 17:03:04 -0400 Subject: [PATCH 1/3] Added a rip method status for when a download completes due to the history.end_rip_after_already_seen config setting --- src/main/java/com/rarchives/ripme/ui/MainWindow.java | 6 ++++++ src/main/java/com/rarchives/ripme/ui/RipStatusMessage.java | 1 + 2 files changed, 7 insertions(+) diff --git a/src/main/java/com/rarchives/ripme/ui/MainWindow.java b/src/main/java/com/rarchives/ripme/ui/MainWindow.java index 0193aa08..9f4ff519 100644 --- a/src/main/java/com/rarchives/ripme/ui/MainWindow.java +++ b/src/main/java/com/rarchives/ripme/ui/MainWindow.java @@ -1206,6 +1206,12 @@ public final class MainWindow implements Runnable, RipStatusHandler { appendLog("Downloaded " + msg.getObject(), Color.GREEN); } break; + case DOWNLOAD_COMPLETE_HISTORY: + if (LOGGER.isEnabledFor(Level.INFO)) { + appendLog("" + msg.getObject(), Color.GREEN); + } + break; + case DOWNLOAD_ERRORED: if (LOGGER.isEnabledFor(Level.ERROR)) { appendLog((String) msg.getObject(), Color.RED); diff --git a/src/main/java/com/rarchives/ripme/ui/RipStatusMessage.java b/src/main/java/com/rarchives/ripme/ui/RipStatusMessage.java index bdd68e3b..462e00ac 100644 --- a/src/main/java/com/rarchives/ripme/ui/RipStatusMessage.java +++ b/src/main/java/com/rarchives/ripme/ui/RipStatusMessage.java @@ -10,6 +10,7 @@ public class RipStatusMessage { DOWNLOAD_STARTED("Download Started"), DOWNLOAD_COMPLETE("Download Complete"), DOWNLOAD_ERRORED("Download Errored"), + DOWNLOAD_COMPLETE_HISTORY("Download Complete History"), RIP_COMPLETE("Rip Complete"), DOWNLOAD_WARN("Download problem"), TOTAL_BYTES("Total bytes"), From 0918ab461625d7417a66a44bb02ea450e5faee29 Mon Sep 17 00:00:00 2001 From: cyian-1756 Date: Fri, 22 Jun 2018 17:04:01 -0400 Subject: [PATCH 2/3] now uses DOWNLOAD_COMPLETE_HISTORY when sending a message about the rip ending due to history.end_rip_after_already_seen config setting --- .../java/com/rarchives/ripme/ripper/AbstractHTMLRipper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/rarchives/ripme/ripper/AbstractHTMLRipper.java b/src/main/java/com/rarchives/ripme/ripper/AbstractHTMLRipper.java index b28b0ba4..01444642 100644 --- a/src/main/java/com/rarchives/ripme/ripper/AbstractHTMLRipper.java +++ b/src/main/java/com/rarchives/ripme/ripper/AbstractHTMLRipper.java @@ -97,7 +97,7 @@ public abstract class AbstractHTMLRipper extends AlbumRipper { while (doc != null) { if (alreadyDownloadedUrls >= Utils.getConfigInteger("history.end_rip_after_already_seen", 1000000000) && !isThisATest()) { - sendUpdate(STATUS.DOWNLOAD_COMPLETE, "Already seen the last " + alreadyDownloadedUrls + " images ending rip"); + sendUpdate(STATUS.DOWNLOAD_COMPLETE_HISTORY, "Already seen the last " + alreadyDownloadedUrls + " images ending rip"); break; } List imageURLs = getURLsFromPage(doc); From f5bdada31b6047c0f5aa4db5431d0fe5a9f3e6e4 Mon Sep 17 00:00:00 2001 From: cyian-1756 Date: Fri, 22 Jun 2018 17:04:28 -0400 Subject: [PATCH 3/3] Reddit ripper now respects history.end_rip_after_already_seen --- .../com/rarchives/ripme/ripper/rippers/RedditRipper.java | 9 +++++++++ 1 file changed, 9 insertions(+) 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 5a967068..08229d72 100644 --- a/src/main/java/com/rarchives/ripme/ripper/rippers/RedditRipper.java +++ b/src/main/java/com/rarchives/ripme/ripper/rippers/RedditRipper.java @@ -8,6 +8,7 @@ import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; +import com.rarchives.ripme.ui.RipStatusMessage; import org.json.JSONArray; import org.json.JSONObject; import org.json.JSONTokener; @@ -39,6 +40,10 @@ public class RedditRipper extends AlbumRipper { private long lastRequestTime = 0; + private Boolean shouldAddURL() { + return (alreadyDownloadedUrls >= Utils.getConfigInteger("history.end_rip_after_already_seen", 1000000000) && !isThisATest()); + } + @Override public boolean canRip(URL url) { return url.getHost().endsWith(DOMAIN); @@ -65,6 +70,10 @@ public class RedditRipper extends AlbumRipper { public void rip() throws IOException { URL jsonURL = getJsonURL(this.url); while (true) { + if (shouldAddURL()) { + sendUpdate(RipStatusMessage.STATUS.DOWNLOAD_COMPLETE_HISTORY, "Already seen the last " + alreadyDownloadedUrls + " images ending rip"); + break; + } jsonURL = getAndParseAndReturnNext(jsonURL); if (jsonURL == null || isThisATest() || isStopped()) { break;