X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Foutput%2FCbz.java;h=c70cc4123d3e05970d9a36ea29d0da089ecbb98c;hb=2a25f7814eec9854022f1c9dee188bfbdb955591;hp=67175b143d007ce916a261d5ec00f7228f126692;hpb=fe999aa400c2627291325558f1ae8c734da7900c;p=nikiroo-utils.git diff --git a/src/be/nikiroo/fanfix/output/Cbz.java b/src/be/nikiroo/fanfix/output/Cbz.java index 67175b1..c70cc41 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,34 +18,39 @@ 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! + new InfoText().process(story, dir, targetNameOrig); - // will also save the images! - new InfoText().process(story, dir, targetNameOrig); - InfoCover.writeInfo(dir, targetNameOrig, story.getMeta()); - InfoCover.writeCover(dir, targetNameOrig, story.getMeta()); + InfoCover.writeInfo(dir, targetNameOrig, story.getMeta()); + if (story.getMeta() != null && !story.getMeta().isFakeCover()) { + InfoCover.writeCover(dir, targetNameOrig, story.getMeta()); + } - 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"; } @@ -59,18 +66,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) {