22056ed3cf0185ab5407903ce42b4036a7b91590
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 protected 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("©" + author
);
64 if (date
!= null && !date
.isEmpty()) {
72 if (meta
!= null && meta
.getResume() != null) {
73 writeChapter(meta
.getResume());
78 protected void writeChapterHeader(Chapter chap
) throws IOException
{
80 if (chap
.getName() != null && !chap
.getName().isEmpty()) {
81 txt
= Instance
.getTrans().getString(StringId
.CHAPTER_NAMED
,
82 chap
.getNumber(), chap
.getName());
84 txt
= Instance
.getTrans().getString(StringId
.CHAPTER_UNNAMED
,
88 writer
.write("\n" + txt
+ "\n");
89 for (int i
= 0; i
< txt
.length(); i
++) {
96 protected void writeParagraphFooter(Paragraph para
) throws IOException
{
101 protected void writeParagraphHeader(Paragraph para
) throws IOException
{
102 if (para
.getType() == ParagraphType
.IMAGE
) {
103 File file
= new File(targetDir
, getCurrentImageBestName(true));
104 Instance
.getCache().saveAsImage(new URL(para
.getContent()), file
);
109 protected void writeTextLine(ParagraphType type
, String line
)
115 writer
.write("\n* * *\n");
122 writer
.write("[" + getCurrentImageBestName(true) + "]");