X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Fsupported%2FFanfiction.java;h=4193fa01e92eca1acc4f572ea3efb20eb4386ae8;hb=276f95c6ca9a79d2fc6879877b240cefb4ceb598;hp=90736567adbd70a43ae2afc16ca42671424be04e;hpb=406447a4c017f2a4592429a67d546a6984460617;p=fanfix.git diff --git a/src/be/nikiroo/fanfix/supported/Fanfiction.java b/src/be/nikiroo/fanfix/supported/Fanfiction.java index 9073656..4193fa0 100644 --- a/src/be/nikiroo/fanfix/supported/Fanfiction.java +++ b/src/be/nikiroo/fanfix/supported/Fanfiction.java @@ -1,6 +1,5 @@ package be.nikiroo.fanfix.supported; -import java.awt.image.BufferedImage; import java.io.IOException; import java.io.InputStream; import java.net.MalformedURLException; @@ -15,6 +14,8 @@ 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.Image; +import be.nikiroo.utils.Progress; import be.nikiroo.utils.StringUtils; /** @@ -24,7 +25,7 @@ import be.nikiroo.utils.StringUtils; * * @author niki */ -class Fanfiction extends BasicSupport { +class Fanfiction extends BasicSupport_Deprecated { @Override protected boolean isHtml() { return true; @@ -48,7 +49,7 @@ class Fanfiction extends BasicSupport { meta.setPublisher(getSourceName()); meta.setUuid(source.toString()); meta.setLuid(""); - meta.setLang("EN"); + meta.setLang("en"); //TODO! meta.setSubject(getSubject(reset(in))); meta.setType(getType().toString()); meta.setImageDocument(false); @@ -73,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\""; @@ -141,7 +142,7 @@ class Fanfiction extends BasicSupport { } } - return fixAuthor(author); + return BasicSupportHelper.fixAuthor(author); } private String getDate(InputStream in) { @@ -160,8 +161,10 @@ class Fanfiction extends BasicSupport { return sdf .format(new Date(1000 * Long.parseLong(line))); } catch (NumberFormatException e) { - Instance.syserr(new IOException( - "Cannot convert publication date: " + line, e)); + Instance.getTraceHandler().error( + new IOException( + "Cannot convert publication date: " + + line, e)); } } } @@ -175,7 +178,7 @@ class Fanfiction extends BasicSupport { return getLine(in, "title=\"Send Private Message\"", 1); } - private BufferedImage getCover(URL url, InputStream in) { + private Image getCover(URL url, InputStream in) { String key = "class='cimage"; String line = getLine(in, key, 0); if (line != null) { @@ -210,7 +213,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(); @@ -243,22 +247,27 @@ 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; } }); } catch (MalformedURLException e) { - Instance.syserr(new IOException( - "Cannot parse chapter " + i + " url: " - + (base + i + suffix), e)); + Instance.getTraceHandler() + .error(new IOException( + "Cannot parse chapter " + i + + " url: " + + (base + i + suffix), e)); } } } @@ -268,14 +277,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; } @@ -286,7 +298,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";