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