X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Fsupported%2FFanfiction.java;h=fd514931848e72baca337054d0d3333f558e52a7;hb=211f7ddb50f68aa8a999023ef6d63d5756bdace6;hp=7d4285b33e86109650e397c1d58358d54a9633a9;hpb=b4dc6ab518ded2dd92e4cbb02ac615b1d57e8e6d;p=nikiroo-utils.git diff --git a/src/be/nikiroo/fanfix/supported/Fanfiction.java b/src/be/nikiroo/fanfix/supported/Fanfiction.java index 7d4285b..fd51493 100644 --- a/src/be/nikiroo/fanfix/supported/Fanfiction.java +++ b/src/be/nikiroo/fanfix/supported/Fanfiction.java @@ -13,7 +13,9 @@ import java.util.Map.Entry; import java.util.Scanner; import be.nikiroo.fanfix.Instance; +import be.nikiroo.fanfix.bundles.Config; import be.nikiroo.fanfix.data.MetaData; +import be.nikiroo.utils.Progress; import be.nikiroo.utils.StringUtils; /** @@ -72,7 +74,7 @@ class Fanfiction extends BasicSupport { return null; } - private List getTags(InputStream in) throws IOException { + private List getTags(InputStream in) { List tags = new ArrayList(); String key = "title=\"Send Private Message\""; @@ -209,7 +211,8 @@ class Fanfiction extends BasicSupport { } @Override - protected List> getChapters(URL source, InputStream in) { + protected List> getChapters(URL source, InputStream in, + Progress pg) { List> urls = new ArrayList>(); String base = source.toString(); @@ -242,14 +245,17 @@ class Fanfiction extends BasicSupport { final String chapName = name.trim(); final URL chapURL = new URL(base + i + suffix); urls.add(new Entry() { + @Override public URL setValue(URL value) { return null; } + @Override public URL getValue() { return chapURL; } + @Override public String getKey() { return chapName; } @@ -267,14 +273,17 @@ class Fanfiction extends BasicSupport { final String chapName = getTitle(reset(in)); final URL chapURL = source; urls.add(new Entry() { + @Override public URL setValue(URL value) { return null; } + @Override public URL getValue() { return chapURL; } + @Override public String getKey() { return chapName; } @@ -285,7 +294,8 @@ class Fanfiction extends BasicSupport { } @Override - protected String getChapterContent(URL source, InputStream in, int number) { + protected String getChapterContent(URL source, InputStream in, int number, + Progress pg) { StringBuilder builder = new StringBuilder(); String startAt = "class='storytext "; String endAt1 = "function review_init"; @@ -309,11 +319,26 @@ class Fanfiction extends BasicSupport { if (builder.length() == 0) { int pos = line.indexOf("= 0) { - line = line.substring(pos); + boolean chaptered = false; + for (String lang : Instance.getConfig() + .getString(Config.CHAPTER).split(",")) { + String chapterWord = Instance.getConfig() + .getStringX(Config.CHAPTER, lang); + int posChap = line.indexOf(chapterWord + " "); + if (posChap < pos) { + chaptered = true; + break; + } + } + + if (chaptered) { + line = line.substring(pos); + } } } builder.append(line); + builder.append(' '); } }