Merge pull request #682 from kevin51jiang/master

VSCO member profile fix
This commit is contained in:
Kevin Jiang 2018-06-09 00:45:14 -04:00 committed by GitHub
commit 17741899ae
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 26 additions and 10 deletions

View File

@ -2,17 +2,14 @@ package com.rarchives.ripme.ripper.rippers;
import com.rarchives.ripme.ripper.AbstractHTMLRipper;
import com.rarchives.ripme.utils.Http;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.json.JSONObject;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
@ -119,7 +116,7 @@ public class VscoRipper extends AbstractHTMLRipper {
}
private String getUserName() {
Pattern p = Pattern.compile("^https?://vsco.co/([a-zA-Z0-9]+)/images/[0-9]+");
Pattern p = Pattern.compile("^https?://vsco.co/([a-zA-Z0-9-]+)/images/[0-9]+");
Matcher m = p.matcher(url.toExternalForm());
if (m.matches()) {
@ -170,7 +167,7 @@ public class VscoRipper extends AbstractHTMLRipper {
result = givenURL;
LOGGER.debug("Found image URL: " + givenURL);
break;//immediatly stop after getting URL (there should only be 1 image to be downloaded)
break;//immediately stop after getting URL (there should only be 1 image to be downloaded)
}
}
@ -192,7 +189,7 @@ public class VscoRipper extends AbstractHTMLRipper {
public String getGID(URL url) throws MalformedURLException {
//Single Image
Pattern p = Pattern.compile("^https?://vsco\\.co/([a-zA-Z0-9]+)/media/([a-zA-Z0-9]+)");
Pattern p = Pattern.compile("^https?://vsco\\.co/([a-zA-Z0-9-]+)/media/([a-zA-Z0-9]+)");
Matcher m = p.matcher(url.toExternalForm());
if (m.matches()){
@ -203,7 +200,7 @@ public class VscoRipper extends AbstractHTMLRipper {
}
//Member profile (Usernames should all be different, so this should work.
p = Pattern.compile("^https?://vsco.co/([a-zA-Z0-9]+)/images/[0-9]+");
p = Pattern.compile("^https?://vsco.co/([a-zA-Z0-9-]+)/images/[0-9]+");
m = p.matcher(url.toExternalForm());
if (m.matches()){

View File

@ -7,19 +7,38 @@ import java.net.URL;
public class VscoRipperTest extends RippersTest {
/**
* Testing Rip.
* Testing single image.
* @throws IOException
*/
public void testSingleImageRip() throws IOException{
public void testSingleImageRip() throws IOException {
VscoRipper ripper = new VscoRipper(new URL("https://vsco.co/minijello/media/571cd612542220261a123441"));
testRipper(ripper);
}
/**
* Tests profile rip.
* @throws IOException
*/
public void testProfileRip() throws IOException {
VscoRipper ripper = new VscoRipper(new URL("https://vsco.co/jonathangodoy/images/1"));
testRipper(ripper);
}
/**
* Prevents Bug #679 from happening again.
* https://github.com/RipMeApp/ripme/issues/679
* @throws IOException
*/
public void testHyphenatedRip() throws IOException {
VscoRipper ripper = new VscoRipper(new URL("https://vsco.co/jolly-roger/images/1"));
testRipper(ripper);
}
/**
* Make sure it names the folder something sensible.
* @throws IOException
*/
public void testGetGID() throws IOException{
public void testGetGID() throws IOException {
URL url = new URL("https://vsco.co/minijello/media/571cd612542220261a123441");
VscoRipper ripper = new VscoRipper(url);