1 package be
.nikiroo
.fanfix
.output
;
4 import java
.io
.FileWriter
;
5 import java
.io
.IOException
;
8 import be
.nikiroo
.fanfix
.Instance
;
9 import be
.nikiroo
.fanfix
.bundles
.StringId
;
10 import be
.nikiroo
.fanfix
.data
.Chapter
;
11 import be
.nikiroo
.fanfix
.data
.MetaData
;
12 import be
.nikiroo
.fanfix
.data
.Paragraph
;
13 import be
.nikiroo
.fanfix
.data
.Story
;
14 import be
.nikiroo
.fanfix
.data
.Paragraph
.ParagraphType
;
16 class Text
extends BasicOutput
{
17 protected FileWriter writer
;
18 protected File targetDir
;
21 public File
process(Story story
, File targetDir
, String targetName
)
23 String targetNameOrig
= targetName
;
24 targetName
+= getDefaultExtension();
26 this.targetDir
= targetDir
;
28 File target
= new File(targetDir
, targetName
);
30 writer
= new FileWriter(target
);
32 super.process(story
, targetDir
, targetNameOrig
);
42 public String
getDefaultExtension() {
47 protected void writeStoryHeader(Story story
) throws IOException
{
52 MetaData meta
= story
.getMeta();
54 title
= meta
.getTitle() == null ?
"" : meta
.getTitle();
55 author
= meta
.getAuthor();
56 date
= meta
.getDate();
61 if (author
!= null && !author
.isEmpty()) {
62 writer
.write(Instance
.getTrans().getString(StringId
.BY
) + " "
65 if (date
!= null && !date
.isEmpty()) {
73 if (meta
!= null && meta
.getResume() != null) {
74 writeChapter(meta
.getResume());
79 protected void writeChapterHeader(Chapter chap
) throws IOException
{
81 if (chap
.getName() != null && !chap
.getName().isEmpty()) {
82 txt
= Instance
.getTrans().getString(StringId
.CHAPTER_NAMED
,
83 chap
.getNumber(), chap
.getName());
85 txt
= Instance
.getTrans().getString(StringId
.CHAPTER_UNNAMED
,
89 writer
.write("\n" + txt
+ "\n");
90 for (int i
= 0; i
< txt
.length(); i
++) {
97 protected void writeParagraphFooter(Paragraph para
) throws IOException
{
102 protected void writeParagraphHeader(Paragraph para
) throws IOException
{
103 if (para
.getType() == ParagraphType
.IMAGE
) {
104 File file
= new File(targetDir
, getCurrentImageBestName(true));
105 Instance
.getCache().saveAsImage(new URL(para
.getContent()), file
);
110 protected void writeTextLine(ParagraphType type
, String line
)
116 writer
.write("\n* * *\n");
123 writer
.write("[" + getCurrentImageBestName(true) + "]");