", 1);
if (cover != null) {
int pos = cover.indexOf('"');
if (pos >= 0) {
cover = cover.substring(pos + 1);
pos = cover.indexOf('"');
if (pos >= 0) {
cover = cover.substring(0, pos);
}
}
}
return getImage(this, null, cover);
}
@Override
protected List
> getChapters(URL source, InputStream in) {
List> urls = new ArrayList>();
@SuppressWarnings("resource")
Scanner scan = new Scanner(in, "UTF-8");
scan.useDelimiter("\\n");
while (scan.hasNext()) {
String line = scan.next();
if (line.contains("class=\"chapter_link\"")
|| line.contains("class='chapter_link'")) {
// Chapter name
String name = line;
int pos = name.indexOf('>');
if (pos >= 0) {
name = name.substring(pos + 1);
pos = name.indexOf('<');
if (pos >= 0) {
name = name.substring(0, pos);
}
}
// Chapter content
pos = line.indexOf('/');
if (pos >= 0) {
line = line.substring(pos); // we take the /, not +1
pos = line.indexOf('"');
if (pos >= 0) {
line = line.substring(0, pos);
}
}
try {
final String key = name;
final URL value = new URL("http://www.fimfiction.net"
+ line);
urls.add(new Entry() {
public URL setValue(URL value) {
return null;
}
public String getKey() {
return key;
}
public URL getValue() {
return value;
}
});
} catch (MalformedURLException e) {
Instance.syserr(e);
}
}
}
return urls;
}
@Override
protected String getChapterContent(URL source, InputStream in, int number) {
return getLine(in, "", 1);
}
@Override
protected boolean supports(URL url) {
return "fimfiction.net".equals(url.getHost())
|| "www.fimfiction.net".equals(url.getHost());
}
}