diff --git a/pom.xml b/pom.xml
index 3c0b0847..34b72db7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
com.rarchives.ripme
ripme
jar
- 1.0.77
+ 1.0.78
ripme
http://rip.rarchives.com
diff --git a/src/main/java/com/rarchives/ripme/ripper/AbstractHTMLRipper.java b/src/main/java/com/rarchives/ripme/ripper/AbstractHTMLRipper.java
index 7dbba6d6..be73c717 100644
--- a/src/main/java/com/rarchives/ripme/ripper/AbstractHTMLRipper.java
+++ b/src/main/java/com/rarchives/ripme/ripper/AbstractHTMLRipper.java
@@ -57,7 +57,7 @@ public abstract class AbstractHTMLRipper extends AlbumRipper {
List imageURLs = getURLsFromPage(doc);
if (imageURLs.size() == 0) {
- throw new IOException("No images found at " + this.url);
+ throw new IOException("No images found at " + doc.location());
}
for (String imageURL : imageURLs) {
diff --git a/src/main/java/com/rarchives/ripme/ripper/rippers/BcfakesRipper.java b/src/main/java/com/rarchives/ripme/ripper/rippers/BcfakesRipper.java
new file mode 100644
index 00000000..edc63e02
--- /dev/null
+++ b/src/main/java/com/rarchives/ripme/ripper/rippers/BcfakesRipper.java
@@ -0,0 +1,83 @@
+package com.rarchives.ripme.ripper.rippers;
+
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.jsoup.nodes.Document;
+import org.jsoup.nodes.Element;
+import org.jsoup.select.Elements;
+
+import com.rarchives.ripme.ripper.AbstractHTMLRipper;
+import com.rarchives.ripme.utils.Http;
+
+public class BcfakesRipper extends AbstractHTMLRipper {
+
+ public BcfakesRipper(URL url) throws IOException {
+ super(url);
+ }
+
+ @Override
+ public String getHost() {
+ return "bcfakes";
+ }
+ @Override
+ public String getDomain() {
+ return "bcfakes.com";
+ }
+
+ @Override
+ public String getGID(URL url) throws MalformedURLException {
+ Pattern p;
+ Matcher m;
+
+ p = Pattern.compile("^https?://[wm.]*bcfakes.com/celebritylist/([a-zA-Z0-9\\-_]+).*$");
+ m = p.matcher(url.toExternalForm());
+ if (m.matches()) {
+ return m.group(1);
+ }
+
+ throw new MalformedURLException(
+ "Expected bcfakes gallery format: "
+ + "http://www.bcfakes.com/celebritylist/name"
+ + " Got: " + url);
+ }
+
+ @Override
+ public Document getFirstPage() throws IOException {
+ return Http.url(url).get();
+ }
+
+ @Override
+ public Document getNextPage(Document doc) throws IOException {
+ // Find next page
+ Elements hrefs = doc.select("a.next");
+ if (hrefs.size() == 0) {
+ throw new IOException("No more pages");
+ }
+ String nextUrl = "http://www.bcfakes.com" + hrefs.first().attr("href");
+ sleep(500);
+ return Http.url(nextUrl).get();
+ }
+
+ @Override
+ public List getURLsFromPage(Document doc) {
+ List imageURLs = new ArrayList();
+ for (Element thumb : doc.select("div.ngg-gallery-thumbnail > a > img")) {
+ String imageURL = thumb.attr("src");
+ imageURL = imageURL.replace("thumbs/thumbs_", "");
+ imageURLs.add(imageURL);
+ }
+ return imageURLs;
+ }
+
+ @Override
+ public void downloadURL(URL url, int index) {
+ addURLToDownload(url, getPrefix(index));
+ }
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/rarchives/ripme/ui/UpdateUtils.java b/src/main/java/com/rarchives/ripme/ui/UpdateUtils.java
index d3c6a1bb..d101b9f0 100644
--- a/src/main/java/com/rarchives/ripme/ui/UpdateUtils.java
+++ b/src/main/java/com/rarchives/ripme/ui/UpdateUtils.java
@@ -21,7 +21,7 @@ import com.rarchives.ripme.utils.Utils;
public class UpdateUtils {
private static final Logger logger = Logger.getLogger(UpdateUtils.class);
- private static final String DEFAULT_VERSION = "1.0.77";
+ private static final String DEFAULT_VERSION = "1.0.78";
private static final String updateJsonURL = "http://rarchives.com/ripme.json";
private static final String updateJarURL = "http://rarchives.com/ripme.jar";
private static final String mainFileName = "ripme.jar";