X-Git-Url: http://git.nikiroo.be/?p=fanfix.git;a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Foutput%2FCbz.java;h=ee671e779668483bc0efd82038afa898905c3cee;hp=67175b143d007ce916a261d5ec00f7228f126692;hb=HEAD;hpb=fe999aa400c2627291325558f1ae8c734da7900c diff --git a/src/be/nikiroo/fanfix/output/Cbz.java b/src/be/nikiroo/fanfix/output/Cbz.java index 67175b1..ee671e7 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.getInstance().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 - protected 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(meta.getUrl()); } - 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) {