1 package be
.nikiroo
.fanfix
.output
;
4 import java
.io
.FileWriter
;
5 import java
.io
.IOException
;
7 import be
.nikiroo
.fanfix
.data
.MetaData
;
8 import be
.nikiroo
.fanfix
.data
.Paragraph
;
9 import be
.nikiroo
.fanfix
.data
.Story
;
10 import be
.nikiroo
.utils
.IOUtils
;
12 class Cbz
extends BasicOutput
{
16 public File
process(Story story
, File targetDir
, String targetName
)
18 String targetNameOrig
= targetName
;
19 targetName
+= getDefaultExtension();
21 File target
= new File(targetDir
, targetName
);
23 dir
= File
.createTempFile("fanfic-reader-cbz-dir", ".wip");
27 // will also save the images!
28 new InfoText().process(story
, dir
, targetNameOrig
);
29 InfoCover
.writeInfo(dir
, targetNameOrig
, story
.getMeta());
30 InfoCover
.writeCover(dir
, targetNameOrig
, story
.getMeta());
32 IOUtils
.writeSmallFile(dir
, "version", "3.0");
35 super.process(story
, targetDir
, targetNameOrig
);
39 IOUtils
.zip(dir
, target
, true);
46 protected String
getDefaultExtension() {
51 protected void writeStoryHeader(Story story
) throws IOException
{
52 MetaData meta
= story
.getMeta();
54 StringBuilder builder
= new StringBuilder();
55 if (meta
!= null && meta
.getResume() != null) {
56 for (Paragraph para
: story
.getMeta().getResume()) {
57 builder
.append(para
.getContent());
62 FileWriter writer
= new FileWriter(new File(dir
, "URL"));
65 writer
.write(meta
.getUuid());
68 writer
.write(builder
.toString());
73 writer
= new FileWriter(new File(dir
, "SUMMARY"));
76 if (meta
!= null && meta
.getTitle() != null) {
77 title
= meta
.getTitle();
81 if (meta
!= null && meta
.getAuthor() != null) {
83 writer
.write(meta
.getAuthor());
86 writer
.write(builder
.toString());