X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Fsupported%2FFanfiction.java;h=060705cadd09ea0867c1152245a0bd90697fac6f;hb=cfdaf6052ddc5ca44cf19f1f6d9f154cc8443024;hp=43f16c89b0c2526289721db103bac3308acb5c5b;hpb=62c63b0724f4bc45999cb2e7186b4b3ada479a0a;p=fanfix.git diff --git a/src/be/nikiroo/fanfix/supported/Fanfiction.java b/src/be/nikiroo/fanfix/supported/Fanfiction.java index 43f16c8..060705c 100644 --- a/src/be/nikiroo/fanfix/supported/Fanfiction.java +++ b/src/be/nikiroo/fanfix/supported/Fanfiction.java @@ -1,11 +1,11 @@ package be.nikiroo.fanfix.supported; -import java.awt.image.BufferedImage; import java.io.IOException; import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; import java.text.SimpleDateFormat; +import java.util.AbstractMap; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -15,6 +15,7 @@ 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; @@ -25,17 +26,12 @@ import be.nikiroo.utils.StringUtils; * * @author niki */ -class Fanfiction extends BasicSupport { +class Fanfiction extends BasicSupport_Deprecated { @Override protected boolean isHtml() { return true; } - @Override - public String getSourceName() { - return "Fanfiction.net"; - } - @Override protected MetaData getMeta(URL source, InputStream in) throws IOException { MetaData meta = new MetaData(); @@ -44,14 +40,11 @@ class Fanfiction extends BasicSupport { meta.setAuthor(getAuthor(reset(in))); meta.setDate(getDate(reset(in))); meta.setTags(getTags(reset(in))); - meta.setSource(getSourceName()); meta.setUrl(source.toString()); - meta.setPublisher(getSourceName()); meta.setUuid(source.toString()); meta.setLuid(""); - meta.setLang("EN"); + meta.setLang("en"); // TODO find language of book meta.setSubject(getSubject(reset(in))); - meta.setType(getType().toString()); meta.setImageDocument(false); meta.setCover(getCover(source, reset(in))); @@ -122,7 +115,7 @@ class Fanfiction extends BasicSupport { } } - return null; + return ""; } private String getAuthor(InputStream in) { @@ -142,7 +135,7 @@ class Fanfiction extends BasicSupport { } } - return fixAuthor(author); + return bsHelper.fixAuthor(author); } private String getDate(InputStream in) { @@ -157,12 +150,12 @@ class Fanfiction extends BasicSupport { line = line.substring(0, pos).trim(); try { SimpleDateFormat sdf = new SimpleDateFormat( - "YYYY-MM-dd"); + "yyyy-MM-dd"); return sdf .format(new Date(1000 * Long.parseLong(line))); } catch (NumberFormatException e) { - Instance.getTraceHandler().error(new IOException( - "Cannot convert publication date: " + line, e)); + Instance.getInstance().getTraceHandler() + .error(new IOException("Cannot convert publication date: " + line, e)); } } } @@ -176,7 +169,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) { @@ -242,28 +235,11 @@ class Fanfiction extends BasicSupport { } try { - 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; - } - }); + urls.add(new AbstractMap.SimpleEntry( + name.trim(), new URL(base + i + suffix))); } catch (MalformedURLException e) { - Instance.getTraceHandler().error(new IOException( - "Cannot parse chapter " + i + " url: " - + (base + i + suffix), e)); + Instance.getInstance().getTraceHandler().error( + new IOException("Cannot parse chapter " + i + " url: " + (base + i + suffix), e)); } } } @@ -320,10 +296,9 @@ class Fanfiction extends BasicSupport { int pos = line.indexOf("= 0) { boolean chaptered = false; - for (String lang : Instance.getConfig() - .getString(Config.CHAPTER).split(",")) { - String chapterWord = Instance.getConfig() - .getStringX(Config.CHAPTER, lang); + for (String lang : Instance.getInstance().getConfig().getList(Config.CONF_CHAPTER)) { + String chapterWord = Instance.getInstance().getConfig().getStringX(Config.CONF_CHAPTER, + lang); int posChap = line.indexOf(chapterWord + " "); if (posChap < pos) { chaptered = true;