X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Foutput%2FEpub.java;h=09a9944d78932b40c806a13a6f8b4fcef3d55ba8;hb=16a81ef7656c5c692fb831927e75edde25dd77a0;hp=3e875aa11a036f6a0c72edf87b8ead77cc4db209;hpb=3d247bc3bb955a9b85686f0db431157cb9dc4a10;p=nikiroo-utils.git diff --git a/src/be/nikiroo/fanfix/output/Epub.java b/src/be/nikiroo/fanfix/output/Epub.java index 3e875aa..09a9944 100644 --- a/src/be/nikiroo/fanfix/output/Epub.java +++ b/src/be/nikiroo/fanfix/output/Epub.java @@ -6,9 +6,6 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStreamWriter; -import java.net.URL; - -import javax.imageio.ImageIO; import be.nikiroo.fanfix.Instance; import be.nikiroo.fanfix.bundles.Config; @@ -27,12 +24,13 @@ class Epub extends BasicOutput { private boolean inDialogue = false; private boolean inNormal = false; private File images; + private boolean nextParaIsCover = true; @Override public File process(Story story, File targetDir, String targetName) throws IOException { String targetNameOrig = targetName; - targetName += getDefaultExtension(); + targetName += getDefaultExtension(false); tmpDir = File.createTempFile("fanfic-reader-epub_", ".wip"); tmpDir.delete(); @@ -45,7 +43,9 @@ class Epub extends BasicOutput { // "Originals" File data = new File(tmpDir, "DATA"); data.mkdir(); - new InfoText().process(story, data, targetNameOrig); + BasicOutput.getOutput(OutputType.TEXT, isWriteInfo(), isWriteCover()) + .process(story, data, targetNameOrig); + InfoCover.writeInfo(data, targetNameOrig, story.getMeta()); IOUtils.writeSmallFile(data, "version", "3.0"); super.process(story, targetDir, targetNameOrig); @@ -60,7 +60,7 @@ class Epub extends BasicOutput { } @Override - public String getDefaultExtension() { + public String getDefaultExtension(boolean readerTarget) { return ".epub"; } @@ -103,7 +103,8 @@ class Epub extends BasicOutput { String format = Instance.getConfig() .getString(Config.IMAGE_FORMAT_COVER).toLowerCase(); File file = new File(images, "cover." + format); - ImageIO.write(story.getMeta().getCover(), format, file); + Instance.getCache().saveAsImage(story.getMeta().getCover(), file, + true); } // OPS/* except chapters @@ -198,7 +199,7 @@ class Epub extends BasicOutput { writer.write("
"); break; case BREAK: - writer.write("
"); + writer.write("
"); break; case NORMAL: writer.write(" "); @@ -208,11 +209,14 @@ class Epub extends BasicOutput { break; case IMAGE: File file = new File(images, getCurrentImageBestName(false)); - Instance.getCache().saveAsImage(new URL(para.getContent()), file); + Instance.getCache().saveAsImage(para.getContentImage(), file, + nextParaIsCover); writer.write(" "); break; } + + nextParaIsCover = false; } @Override