X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Foutput%2FCbz.java;h=a84428c4f155d35273649ed8c550918b9606f12d;hb=925298fd058a953144058f8b70d939c2a3e7ea5b;hp=51cf732a966cbb7b70e3941f7cf2eee00c2a18ff;hpb=08fe2e33007063e30fe22dc1d290f8afaa18eb1d;p=fanfix.git diff --git a/src/be/nikiroo/fanfix/output/Cbz.java b/src/be/nikiroo/fanfix/output/Cbz.java index 51cf732..a84428c 100644 --- a/src/be/nikiroo/fanfix/output/Cbz.java +++ b/src/be/nikiroo/fanfix/output/Cbz.java @@ -1,8 +1,10 @@ package be.nikiroo.fanfix.output; +import java.io.BufferedWriter; import java.io.File; -import java.io.FileWriter; +import java.io.FileOutputStream; import java.io.IOException; +import java.io.OutputStreamWriter; import be.nikiroo.fanfix.data.MetaData; import be.nikiroo.fanfix.data.Paragraph; @@ -16,31 +18,43 @@ class Cbz extends BasicOutput { public File process(Story story, File targetDir, String targetName) throws IOException { String targetNameOrig = targetName; - targetName += getDefaultExtension(); + targetName += getDefaultExtension(false); File target = new File(targetDir, targetName); dir = File.createTempFile("fanfic-reader-cbz-dir", ".wip"); dir.delete(); dir.mkdir(); + try { + // will also save the images! (except the cover -> false) + BasicOutput + .getOutput(OutputType.TEXT, isWriteInfo(), isWriteCover()) + // Force cover to FALSE: + .setType(OutputType.TEXT, isWriteInfo(), false) + .process(story, dir, targetNameOrig); + + InfoCover.writeInfo(dir, targetNameOrig, story.getMeta()); + if (story.getMeta() != null && !story.getMeta().isFakeCover()) { + InfoCover.writeCover(dir, targetNameOrig, story.getMeta()); + } - // will also save the images! - new InfoText().process(story, dir, targetNameOrig); - IOUtils.writeSmallFile(dir, "version", "3.0"); + IOUtils.writeSmallFile(dir, "version", "3.0"); - try { - super.process(story, targetDir, targetNameOrig); + try { + super.process(story, targetDir, targetNameOrig); + } finally { + } + + IOUtils.zip(dir, target, true); } finally { + IOUtils.deltree(dir); } - IOUtils.zip(dir, target, true); - IOUtils.deltree(dir); - return target; } @Override - protected String getDefaultExtension() { + public String getDefaultExtension(boolean readerTarget) { return ".cbz"; } @@ -56,18 +70,18 @@ class Cbz extends BasicOutput { } } - FileWriter writer = new FileWriter(new File(dir, "URL")); + BufferedWriter writer = new BufferedWriter(new OutputStreamWriter( + new FileOutputStream(new File(dir, "URL")), "UTF-8")); try { if (meta != null) { writer.write(meta.getUuid()); } - writer.write("\n\n"); - writer.write(builder.toString()); } finally { writer.close(); } - writer = new FileWriter(new File(dir, "SUMMARY")); + writer = new BufferedWriter(new OutputStreamWriter( + new FileOutputStream(new File(dir, "SUMMARY")), "UTF-8")); try { String title = ""; if (meta != null && meta.getTitle() != null) {