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 0f5a07c0..6bbda875 100644 --- a/src/main/java/com/rarchives/ripme/ripper/rippers/TumblrRipper.java +++ b/src/main/java/com/rarchives/ripme/ripper/rippers/TumblrRipper.java @@ -144,7 +144,7 @@ public class TumblrRipper extends AlbumRipper { if (albumType == ALBUM_TYPE.POST) { mediaTypes = new String[] { "post" }; } else { - mediaTypes = new String[] { "photo", "video" }; + mediaTypes = new String[] { "photo", "video", "audio" }; } int offset; @@ -294,6 +294,23 @@ public class TumblrRipper extends AlbumRipper { logger.error("[!] Error while parsing video in " + post, e); return true; } + } else if (post.has("audio_url")) { + try { + fileURL = new URI(post.getString("audio_url").replaceAll("http:", "https:")).toURL(); + downloadURL(fileURL, date); + } catch (Exception e) { + logger.error("[!] Error while parsing audio in " + post, e); + return true; + } + if (post.has("album_art")) { + try { + fileURL = new URI(post.getString("album_art").replaceAll("http:", "https:")).toURL(); + downloadURL(fileURL, date); + } catch (Exception e) { + logger.error("[!] Error while parsing album art in " + post, e); + return true; + } + } } else if (post.has("body")) { Document d = Jsoup.parse(post.getString("body")); if (!d.select("img").attr("src").isEmpty()) { diff --git a/src/test/java/com/rarchives/ripme/tst/ripper/rippers/TumblrRipperTest.java b/src/test/java/com/rarchives/ripme/tst/ripper/rippers/TumblrRipperTest.java index e771e209..46c286eb 100644 --- a/src/test/java/com/rarchives/ripme/tst/ripper/rippers/TumblrRipperTest.java +++ b/src/test/java/com/rarchives/ripme/tst/ripper/rippers/TumblrRipperTest.java @@ -39,4 +39,9 @@ public class TumblrRipperTest extends RippersTest { new URI("https://these-are-my-b-sides.tumblr.com/post/178225921524/this-was-fun").toURL()); testRipper(ripper); } + @Test + public void testTumblrAudioRip() throws IOException, URISyntaxException { + TumblrRipper ripper = new TumblrRipper(new URI("https://pilotredsun.tumblr.com/post/117939380846/march-2015").toURL()); + testRipper(ripper); + } }