X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Foutput%2FCbz.java;h=490ba8f04fe936e8f25417f7e829a5ed075045c9;hb=2aac79c740789071ad9b773d25f20e103f0da86c;hp=f618f59da51a192065ea7cd4aa9d9c141dcbe9e3;hpb=2206ef66ee00ad42d806f04a7b7ad6f8cb2d8828;p=nikiroo-utils.git diff --git a/src/be/nikiroo/fanfix/output/Cbz.java b/src/be/nikiroo/fanfix/output/Cbz.java index f618f59..490ba8f 100644 --- a/src/be/nikiroo/fanfix/output/Cbz.java +++ b/src/be/nikiroo/fanfix/output/Cbz.java @@ -1,9 +1,12 @@ 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.Instance; import be.nikiroo.fanfix.data.MetaData; import be.nikiroo.fanfix.data.Paragraph; import be.nikiroo.fanfix.data.Story; @@ -16,34 +19,41 @@ 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(); + dir = Instance.getTempFiles().createTempDir("fanfic-reader-cbz-dir"); + 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); + + try { + super.process(story, targetDir, targetNameOrig); + } finally { + } - // 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); + IOUtils.zip(dir, target, true); } finally { + IOUtils.deltree(dir); } - IOUtils.zip(dir, target, true); - IOUtils.deltree(dir); - return target; } @Override - public String getDefaultExtension() { + public String getDefaultExtension(boolean readerTarget) { return ".cbz"; } @@ -59,18 +69,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) {