diff --git a/src/main/java/com/rarchives/ripme/ripper/rippers/TumblrRipper.java b/src/main/java/com/rarchives/ripme/ripper/rippers/TumblrRipper.java index 93e7b318..4b73ba55 100644 --- a/src/main/java/com/rarchives/ripme/ripper/rippers/TumblrRipper.java +++ b/src/main/java/com/rarchives/ripme/ripper/rippers/TumblrRipper.java @@ -171,6 +171,10 @@ public class TumblrRipper extends AlbumRipper { HttpStatusException status = (HttpStatusException)cause; if (status.getStatusCode() == HttpURLConnection.HTTP_UNAUTHORIZED && !useDefaultApiKey) { retry = true; + } else if (status.getStatusCode() == 404) { + LOGGER.error("No user or album found!"); + sendUpdate(STATUS.NO_ALBUM_OR_USER, "Album or user doesn't exist!"); + break; } else if (status.getStatusCode() == 429) { LOGGER.error("Tumblr rate limit has been exceeded"); sendUpdate(STATUS.DOWNLOAD_ERRORED,"Tumblr rate limit has been exceeded"); diff --git a/src/main/java/com/rarchives/ripme/ui/MainWindow.java b/src/main/java/com/rarchives/ripme/ui/MainWindow.java index 7d56f764..af279b9d 100644 --- a/src/main/java/com/rarchives/ripme/ui/MainWindow.java +++ b/src/main/java/com/rarchives/ripme/ui/MainWindow.java @@ -1404,6 +1404,17 @@ public final class MainWindow implements Runnable, RipStatusHandler { case TOTAL_BYTES: // Update total bytes break; + case NO_ALBUM_OR_USER: + if (LOGGER.isEnabledFor(Level.ERROR)) { + appendLog((String) msg.getObject(), Color.RED); + } + stopButton.setEnabled(false); + statusProgress.setValue(0); + statusProgress.setVisible(false); + openButton.setVisible(false); + pack(); + statusWithColor("Error: " + msg.getObject(), Color.RED); + break; } } diff --git a/src/main/java/com/rarchives/ripme/ui/RipStatusMessage.java b/src/main/java/com/rarchives/ripme/ui/RipStatusMessage.java index 462e00ac..207968d9 100644 --- a/src/main/java/com/rarchives/ripme/ui/RipStatusMessage.java +++ b/src/main/java/com/rarchives/ripme/ui/RipStatusMessage.java @@ -15,7 +15,8 @@ public class RipStatusMessage { DOWNLOAD_WARN("Download problem"), TOTAL_BYTES("Total bytes"), COMPLETED_BYTES("Completed bytes"), - RIP_ERRORED("Rip Errored"); + RIP_ERRORED("Rip Errored"), + NO_ALBUM_OR_USER("No album or user"); String value; STATUS(String value) {