Completely reformatted PahealRipper; add missing braces.
This commit is contained in:
parent
d2a4412a85
commit
56093cc1ad
@ -21,102 +21,105 @@ import org.jsoup.nodes.Document;
|
||||
import org.jsoup.nodes.Element;
|
||||
import org.jsoup.select.Elements;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author
|
||||
*/
|
||||
public class PahealRipper extends AbstractHTMLRipper{
|
||||
private static Map<String,String> cookies=null;
|
||||
private static Pattern gidPattern=null;
|
||||
public class PahealRipper extends AbstractHTMLRipper {
|
||||
private static Map<String, String> cookies = null;
|
||||
private static Pattern gidPattern = null;
|
||||
|
||||
private static Map<String, String> getCookies() {
|
||||
if(cookies==null){
|
||||
cookies=new HashMap<String, String>(1);
|
||||
cookies.put("ui-tnc-agreed","true");
|
||||
}
|
||||
return cookies;
|
||||
}
|
||||
private static Map<String, String> getCookies() {
|
||||
if (cookies == null) {
|
||||
cookies = new HashMap<String, String>(1);
|
||||
cookies.put("ui-tnc-agreed", "true");
|
||||
}
|
||||
return cookies;
|
||||
}
|
||||
|
||||
public PahealRipper(URL url) throws IOException {
|
||||
super(url);
|
||||
}
|
||||
public PahealRipper(URL url) throws IOException {
|
||||
super(url);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDomain() {
|
||||
return "rule34.paheal.net";
|
||||
}
|
||||
@Override
|
||||
public String getDomain() {
|
||||
return "rule34.paheal.net";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getHost() {
|
||||
return "paheal";
|
||||
}
|
||||
@Override
|
||||
public String getHost() {
|
||||
return "paheal";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Document getFirstPage() throws IOException {
|
||||
return Http.url("http://rule34.paheal.net/post/list/"+getTerm(url)+"/1").cookies(getCookies()).get();
|
||||
}
|
||||
@Override
|
||||
public Document getFirstPage() throws IOException {
|
||||
return Http.url("http://rule34.paheal.net/post/list/" + getTerm(url) + "/1").cookies(getCookies()).get();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Document getNextPage(Document page) throws IOException {
|
||||
for(Element e:page.select("#paginator a")){
|
||||
if(e.text().toLowerCase().equals("next"))
|
||||
return Http.url(e.absUrl("href")).cookies(getCookies()).get();
|
||||
}
|
||||
@Override
|
||||
public Document getNextPage(Document page) throws IOException {
|
||||
for (Element e : page.select("#paginator a")) {
|
||||
if (e.text().toLowerCase().equals("next")) {
|
||||
return Http.url(e.absUrl("href")).cookies(getCookies()).get();
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getURLsFromPage(Document page) {
|
||||
Elements elements=page.select(".shm-thumb.thumb>a").not(".shm-thumb-link");
|
||||
List<String> res=new ArrayList<String>(elements.size());
|
||||
@Override
|
||||
public List<String> getURLsFromPage(Document page) {
|
||||
Elements elements = page.select(".shm-thumb.thumb>a").not(".shm-thumb-link");
|
||||
List<String> res = new ArrayList<String>(elements.size());
|
||||
|
||||
for(Element e:elements)
|
||||
res.add(e.absUrl("href"));
|
||||
for (Element e : elements) {
|
||||
res.add(e.absUrl("href"));
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void downloadURL(URL url, int index) {
|
||||
try {
|
||||
String name=url.getPath();
|
||||
String ext=".png";
|
||||
@Override
|
||||
public void downloadURL(URL url, int index) {
|
||||
try {
|
||||
String name = url.getPath();
|
||||
String ext = ".png";
|
||||
|
||||
name=name.substring(name.lastIndexOf('/')+1);
|
||||
if(name.indexOf('.')>=0){
|
||||
ext=name.substring(name.lastIndexOf('.'));
|
||||
name=name.substring(0,name.length()-ext.length());
|
||||
}
|
||||
name = name.substring(name.lastIndexOf('/') + 1);
|
||||
if (name.indexOf('.') >= 0) {
|
||||
ext = name.substring(name.lastIndexOf('.'));
|
||||
name = name.substring(0, name.length() - ext.length());
|
||||
}
|
||||
|
||||
addURLToDownload(url,new File(workingDir.getCanonicalPath()+File.separator+Utils.filesystemSafe(new URI(name).getPath())+ext));
|
||||
} catch (IOException ex) {
|
||||
Logger.getLogger(PahealRipper.class.getName()).log(Level.SEVERE, null, ex);
|
||||
} catch (URISyntaxException ex) {
|
||||
Logger.getLogger(PahealRipper.class.getName()).log(Level.SEVERE, null, ex);
|
||||
}
|
||||
}
|
||||
File outFile = new File(workingDir.getCanonicalPath()
|
||||
+ File.separator
|
||||
+ Utils.filesystemSafe(new URI(name).getPath())
|
||||
+ ext);
|
||||
addURLToDownload(url, outFile);
|
||||
} catch (IOException ex) {
|
||||
Logger.getLogger(PahealRipper.class.getName()).log(Level.SEVERE, null, ex);
|
||||
} catch (URISyntaxException ex) {
|
||||
Logger.getLogger(PahealRipper.class.getName()).log(Level.SEVERE, null, ex);
|
||||
}
|
||||
}
|
||||
|
||||
private String getTerm(URL url) throws MalformedURLException{
|
||||
if(gidPattern==null)
|
||||
gidPattern=Pattern.compile("^https?://(www\\.)?rule34\\.paheal\\.net/post/list/([a-zA-Z0-9$_.+!*'(),%-]+)(/.*)?(#.*)?$");
|
||||
private String getTerm(URL url) throws MalformedURLException {
|
||||
if (gidPattern == null) {
|
||||
gidPattern = Pattern.compile("^https?://(www\\.)?rule34\\.paheal\\.net/post/list/([a-zA-Z0-9$_.+!*'(),%-]+)(/.*)?(#.*)?$");
|
||||
}
|
||||
|
||||
Matcher m = gidPattern.matcher(url.toExternalForm());
|
||||
if(m.matches())
|
||||
return m.group(2);
|
||||
Matcher m = gidPattern.matcher(url.toExternalForm());
|
||||
if (m.matches()) {
|
||||
return m.group(2);
|
||||
}
|
||||
|
||||
throw new MalformedURLException("Expected paheal.net URL format: rule34.paheal.net/post/list/searchterm - got "+url+" instead");
|
||||
}
|
||||
throw new MalformedURLException("Expected paheal.net URL format: rule34.paheal.net/post/list/searchterm - got " + url + " instead");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getGID(URL url) throws MalformedURLException {
|
||||
try {
|
||||
return Utils.filesystemSafe(new URI(getTerm(url)).getPath());
|
||||
} catch (URISyntaxException ex) {
|
||||
Logger.getLogger(PahealRipper.class.getName()).log(Level.SEVERE, null, ex);
|
||||
}
|
||||
|
||||
throw new MalformedURLException("Expected paheal.net URL format: rule34.paheal.net/post/list/searchterm - got "+url+" instead");
|
||||
}
|
||||
@Override
|
||||
public String getGID(URL url) throws MalformedURLException {
|
||||
try {
|
||||
return Utils.filesystemSafe(new URI(getTerm(url)).getPath());
|
||||
} catch (URISyntaxException ex) {
|
||||
Logger.getLogger(PahealRipper.class.getName()).log(Level.SEVERE, null, ex);
|
||||
}
|
||||
|
||||
throw new MalformedURLException("Expected paheal.net URL format: rule34.paheal.net/post/list/searchterm - got " + url + " instead");
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user