v1.2.6: Fix 500px ripper to fetch higher-res, non-watermarked images.
Closes #260
This commit is contained in:
parent
61d86e5b7e
commit
d4d6e4f57b
2
pom.xml
2
pom.xml
@ -4,7 +4,7 @@
|
|||||||
<groupId>com.rarchives.ripme</groupId>
|
<groupId>com.rarchives.ripme</groupId>
|
||||||
<artifactId>ripme</artifactId>
|
<artifactId>ripme</artifactId>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
<version>1.2.5</version>
|
<version>1.2.6</version>
|
||||||
<name>ripme</name>
|
<name>ripme</name>
|
||||||
<url>http://rip.rarchives.com</url>
|
<url>http://rip.rarchives.com</url>
|
||||||
<properties>
|
<properties>
|
||||||
|
@ -176,7 +176,7 @@ public abstract class AbstractRipper
|
|||||||
* @param url
|
* @param url
|
||||||
* URL being retrieved
|
* URL being retrieved
|
||||||
*/
|
*/
|
||||||
public void retrievingSource(URL url) {
|
public void retrievingSource(String url) {
|
||||||
RipStatusMessage msg = new RipStatusMessage(STATUS.LOADING_RESOURCE, url);
|
RipStatusMessage msg = new RipStatusMessage(STATUS.LOADING_RESOURCE, url);
|
||||||
observer.update(this, msg);
|
observer.update(this, msg);
|
||||||
}
|
}
|
||||||
|
@ -12,6 +12,8 @@ import java.util.regex.Pattern;
|
|||||||
|
|
||||||
import org.json.JSONArray;
|
import org.json.JSONArray;
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
import org.jsoup.nodes.Document;
|
||||||
|
import org.jsoup.select.Elements;
|
||||||
|
|
||||||
import com.rarchives.ripme.ripper.AbstractJSONRipper;
|
import com.rarchives.ripme.ripper.AbstractJSONRipper;
|
||||||
import com.rarchives.ripme.ui.RipStatusMessage.STATUS;
|
import com.rarchives.ripme.ui.RipStatusMessage.STATUS;
|
||||||
@ -184,7 +186,24 @@ public class FivehundredpxRipper extends AbstractJSONRipper {
|
|||||||
JSONArray photos = json.getJSONArray("photos");
|
JSONArray photos = json.getJSONArray("photos");
|
||||||
for (int i = 0; i < photos.length(); i++) {
|
for (int i = 0; i < photos.length(); i++) {
|
||||||
JSONObject photo = photos.getJSONObject(i);
|
JSONObject photo = photos.getJSONObject(i);
|
||||||
String imageURL = photo.getString("image_url");
|
String imageURL = null;
|
||||||
|
String rawUrl = "https://500px.com" + photo.getString("url");
|
||||||
|
Document doc;
|
||||||
|
Elements metas = new Elements();
|
||||||
|
try {
|
||||||
|
logger.debug("Loading " + rawUrl);
|
||||||
|
super.retrievingSource(rawUrl);
|
||||||
|
doc = Http.url(rawUrl).get();
|
||||||
|
metas = doc.select("meta[property=\"twitter:image:src\"]");
|
||||||
|
}
|
||||||
|
catch (IOException e) {
|
||||||
|
logger.error("Error fetching full-size image from " + rawUrl, e);
|
||||||
|
}
|
||||||
|
if (metas.size() > 0) {
|
||||||
|
imageURL = metas.first().attr("content");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
imageURL = photo.getString("image_url");
|
||||||
imageURL = imageURL.replaceAll("/4\\.", "/5.");
|
imageURL = imageURL.replaceAll("/4\\.", "/5.");
|
||||||
// See if there's larger images
|
// See if there's larger images
|
||||||
for (String imageSize : new String[] { "2048" } ) {
|
for (String imageSize : new String[] { "2048" } ) {
|
||||||
@ -196,11 +215,17 @@ public class FivehundredpxRipper extends AbstractJSONRipper {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
if (imageURL == null) {
|
||||||
|
logger.error("Failed to find image for photo " + photo.toString());
|
||||||
|
}
|
||||||
|
else {
|
||||||
imageURLs.add(imageURL);
|
imageURLs.add(imageURL);
|
||||||
if (isThisATest()) {
|
if (isThisATest()) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return imageURLs;
|
return imageURLs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ import com.rarchives.ripme.utils.Utils;
|
|||||||
public class UpdateUtils {
|
public class UpdateUtils {
|
||||||
|
|
||||||
private static final Logger logger = Logger.getLogger(UpdateUtils.class);
|
private static final Logger logger = Logger.getLogger(UpdateUtils.class);
|
||||||
private static final String DEFAULT_VERSION = "1.2.5";
|
private static final String DEFAULT_VERSION = "1.2.6";
|
||||||
private static final String updateJsonURL = "http://rarchives.com/ripme.json";
|
private static final String updateJsonURL = "http://rarchives.com/ripme.json";
|
||||||
private static final String updateJarURL = "http://rarchives.com/ripme.jar";
|
private static final String updateJarURL = "http://rarchives.com/ripme.jar";
|
||||||
private static final String mainFileName = "ripme.jar";
|
private static final String mainFileName = "ripme.jar";
|
||||||
|
Loading…
Reference in New Issue
Block a user