X-Git-Url: http://git.nikiroo.be/?p=fanfix.git;a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Foutput%2FText.java;h=f0516dc629ebca9bf65b7bf86fa559028004f622;hp=4acfa762cd82788fcad70707e073983e65b08293;hb=HEAD;hpb=3d247bc3bb955a9b85686f0db431157cb9dc4a10 diff --git a/src/be/nikiroo/fanfix/output/Text.java b/src/be/nikiroo/fanfix/output/Text.java index 4acfa76..f0516dc 100644 --- a/src/be/nikiroo/fanfix/output/Text.java +++ b/src/be/nikiroo/fanfix/output/Text.java @@ -5,7 +5,6 @@ import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; -import java.net.URL; import be.nikiroo.fanfix.Instance; import be.nikiroo.fanfix.bundles.StringId; @@ -18,12 +17,13 @@ import be.nikiroo.fanfix.data.Story; class Text extends BasicOutput { protected BufferedWriter writer; protected File targetDir; + private boolean nextParaIsCover = true; @Override public File process(Story story, File targetDir, String targetName) throws IOException { String targetNameOrig = targetName; - targetName += getDefaultExtension(); + targetName += getDefaultExtension(false); this.targetDir = targetDir; @@ -42,7 +42,7 @@ class Text extends BasicOutput { } @Override - public String getDefaultExtension() { + public String getDefaultExtension(boolean readerTarget) { return ".txt"; } @@ -62,8 +62,7 @@ class Text extends BasicOutput { writer.write(title); writer.write("\n"); if (author != null && !author.isEmpty()) { - writer.write(Instance.getTrans().getString(StringId.BY) + " " - + author); + writer.write(Instance.getInstance().getTrans().getString(StringId.BY) + " " + author); } if (date != null && !date.isEmpty()) { writer.write(" ("); @@ -82,11 +81,9 @@ class Text extends BasicOutput { protected void writeChapterHeader(Chapter chap) throws IOException { String txt; if (chap.getName() != null && !chap.getName().isEmpty()) { - txt = Instance.getTrans().getString(StringId.CHAPTER_NAMED, - chap.getNumber(), chap.getName()); + txt = Instance.getInstance().getTrans().getString(StringId.CHAPTER_NAMED, chap.getNumber(), chap.getName()); } else { - txt = Instance.getTrans().getString(StringId.CHAPTER_UNNAMED, - chap.getNumber()); + txt = Instance.getInstance().getTrans().getString(StringId.CHAPTER_UNNAMED, chap.getNumber()); } writer.write("\n" + txt + "\n"); @@ -105,8 +102,14 @@ class Text extends BasicOutput { protected void writeParagraphHeader(Paragraph para) throws IOException { if (para.getType() == ParagraphType.IMAGE) { File file = new File(targetDir, getCurrentImageBestName(true)); - Instance.getCache().saveAsImage(new URL(para.getContent()), file); + try { + Instance.getInstance().getCache().saveAsImage(para.getContentImage(), file, nextParaIsCover); + } catch (IOException e) { + Instance.getInstance().getTraceHandler().error(new IOException("Cannot save an image", e)); + } } + + nextParaIsCover = false; } @Override