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;
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";
}
}
}
- 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) {