X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Foutput%2FInfoCover.java;h=9227d3e440d9f9371506c160813b9827c029c851;hb=9fe3f17729759e933d7687cc2838f7255f2c9283;hp=1a63dce664d465f4e982fb331861fd574ad695ac;hpb=3d247bc3bb955a9b85686f0db431157cb9dc4a10;p=nikiroo-utils.git diff --git a/src/be/nikiroo/fanfix/output/InfoCover.java b/src/be/nikiroo/fanfix/output/InfoCover.java index 1a63dce..9227d3e 100644 --- a/src/be/nikiroo/fanfix/output/InfoCover.java +++ b/src/be/nikiroo/fanfix/output/InfoCover.java @@ -6,21 +6,21 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; -import javax.imageio.ImageIO; - import be.nikiroo.fanfix.Instance; import be.nikiroo.fanfix.bundles.Config; import be.nikiroo.fanfix.data.MetaData; -class InfoCover { +public class InfoCover { public static void writeInfo(File targetDir, String targetName, MetaData meta) throws IOException { File info = new File(targetDir, targetName + ".info"); - BufferedWriter infoWriter = new BufferedWriter(new OutputStreamWriter( - new FileOutputStream(info), "UTF-8")); - if (meta != null) { - try { + BufferedWriter infoWriter = null; + try { + infoWriter = new BufferedWriter(new OutputStreamWriter( + new FileOutputStream(info), "UTF-8")); + + if (meta != null) { String tags = ""; if (meta.getTags() != null) { for (String tag : meta.getTags()) { @@ -54,7 +54,14 @@ class InfoCover { } writeMeta(infoWriter, "EPUBCREATOR", BasicOutput.EPUB_CREATOR); writeMeta(infoWriter, "PUBLISHER", meta.getPublisher()); - } finally { + writeMeta(infoWriter, "WORDCOUNT", + Long.toString(meta.getWords())); + writeMeta(infoWriter, "CREATION_DATE", meta.getCreationDate()); + writeMeta(infoWriter, "FAKE_COVER", + Boolean.toString(meta.isFakeCover())); + } + } finally { + if (infoWriter != null) { infoWriter.close(); } } @@ -64,14 +71,12 @@ class InfoCover { MetaData meta) { if (meta != null && meta.getCover() != null) { try { - String format = Instance.getConfig() - .getString(Config.IMAGE_FORMAT_COVER).toLowerCase(); - ImageIO.write(meta.getCover(), format, new File(targetDir, - targetName + "." + format)); + Instance.getCache().saveAsImage(meta.getCover(), + new File(targetDir, targetName), true); } catch (IOException e) { // Allow to continue without cover - Instance.syserr(new IOException( - "Failed to save the cover image", e)); + Instance.getTraceHandler().error( + new IOException("Failed to save the cover image", e)); } } }