1 package be
.nikiroo
.fanfix
.output
;
4 import java
.io
.FileWriter
;
5 import java
.io
.IOException
;
7 import javax
.imageio
.ImageIO
;
9 import be
.nikiroo
.fanfix
.Instance
;
10 import be
.nikiroo
.fanfix
.bundles
.Config
;
11 import be
.nikiroo
.fanfix
.data
.MetaData
;
14 public static void writeInfo(File targetDir
, String targetName
,
15 MetaData meta
) throws IOException
{
16 File info
= new File(targetDir
, targetName
+ ".info");
17 FileWriter infoWriter
= new FileWriter(info
);
22 if (meta
.getTags() != null) {
23 for (String tag
: meta
.getTags()) {
24 if (!tags
.isEmpty()) {
31 String lang
= meta
.getLang();
33 lang
= lang
.toLowerCase();
36 writeMeta(infoWriter
, "TITLE", meta
.getTitle());
37 writeMeta(infoWriter
, "AUTHOR", meta
.getAuthor());
38 writeMeta(infoWriter
, "DATE", meta
.getDate());
39 writeMeta(infoWriter
, "SUBJECT", meta
.getSubject());
40 writeMeta(infoWriter
, "SOURCE", meta
.getSource());
41 writeMeta(infoWriter
, "TAGS", tags
);
42 writeMeta(infoWriter
, "UUID", meta
.getUuid());
43 writeMeta(infoWriter
, "LUID", meta
.getLuid());
44 writeMeta(infoWriter
, "LANG", lang
);
45 writeMeta(infoWriter
, "IMAGES_DOCUMENT",
46 meta
.isImageDocument() ?
"true" : "false");
47 if (meta
.getCover() != null) {
48 String format
= Instance
.getConfig()
49 .getString(Config
.IMAGE_FORMAT_COVER
).toLowerCase();
50 writeMeta(infoWriter
, "COVER", targetName
+ "." + format
);
52 writeMeta(infoWriter
, "COVER", "");
54 writeMeta(infoWriter
, "EPUBCREATOR", BasicOutput
.EPUB_CREATOR
);
55 writeMeta(infoWriter
, "PUBLISHER", meta
.getPublisher());
62 public static void writeCover(File targetDir
, String targetName
,
64 if (meta
!= null && meta
.getCover() != null) {
66 String format
= Instance
.getConfig()
67 .getString(Config
.IMAGE_FORMAT_COVER
).toLowerCase();
68 ImageIO
.write(meta
.getCover(), format
, new File(targetDir
,
69 targetName
+ "." + format
));
70 } catch (IOException e
) {
71 // Allow to continue without cover
72 Instance
.syserr(new IOException(
73 "Failed to save the cover image", e
));
78 private static void writeMeta(FileWriter writer
, String key
, String value
)
84 writer
.write(String
.format("%s=\"%s\"\n", key
, value
.replace("\"", "'")));