git://git.nikiroo.be
/
nikiroo-utils.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge commit '3519cb5c518d569235beaedfc3071cba45ec848d'
[nikiroo-utils.git]
/
src
/
be
/
nikiroo
/
fanfix
/
output
/
Text.java
diff --git
a/src/be/nikiroo/fanfix/output/Text.java
b/src/be/nikiroo/fanfix/output/Text.java
index 22056ed3cf0185ab5407903ce42b4036a7b91590..4a45e5430fba9465b1e92a590bcae9cc18b28360 100644
(file)
--- a/
src/be/nikiroo/fanfix/output/Text.java
+++ b/
src/be/nikiroo/fanfix/output/Text.java
@@
-1,33
+1,36
@@
package be.nikiroo.fanfix.output;
package be.nikiroo.fanfix.output;
+import java.io.BufferedWriter;
import java.io.File;
import java.io.File;
-import java.io.File
Writer
;
+import java.io.File
OutputStream
;
import java.io.IOException;
import java.io.IOException;
-import java.
net.URL
;
+import java.
io.OutputStreamWriter
;
import be.nikiroo.fanfix.Instance;
import be.nikiroo.fanfix.bundles.StringId;
import be.nikiroo.fanfix.data.Chapter;
import be.nikiroo.fanfix.data.MetaData;
import be.nikiroo.fanfix.data.Paragraph;
import be.nikiroo.fanfix.Instance;
import be.nikiroo.fanfix.bundles.StringId;
import be.nikiroo.fanfix.data.Chapter;
import be.nikiroo.fanfix.data.MetaData;
import be.nikiroo.fanfix.data.Paragraph;
-import be.nikiroo.fanfix.data.Story;
import be.nikiroo.fanfix.data.Paragraph.ParagraphType;
import be.nikiroo.fanfix.data.Paragraph.ParagraphType;
+import be.nikiroo.fanfix.data.Story;
class Text extends BasicOutput {
class Text extends BasicOutput {
- protected
File
Writer writer;
+ protected
Buffered
Writer writer;
protected File targetDir;
protected File targetDir;
+ private boolean nextParaIsCover = true;
@Override
public File process(Story story, File targetDir, String targetName)
throws IOException {
String targetNameOrig = targetName;
@Override
public File process(Story story, File targetDir, String targetName)
throws IOException {
String targetNameOrig = targetName;
- targetName += getDefaultExtension();
+ targetName += getDefaultExtension(
false
);
this.targetDir = targetDir;
File target = new File(targetDir, targetName);
this.targetDir = targetDir;
File target = new File(targetDir, targetName);
- writer = new FileWriter(target);
+ writer = new BufferedWriter(new OutputStreamWriter(
+ new FileOutputStream(target), "UTF-8"));
try {
super.process(story, targetDir, targetNameOrig);
} finally {
try {
super.process(story, targetDir, targetNameOrig);
} finally {
@@
-39,7
+42,7
@@
class Text extends BasicOutput {
}
@Override
}
@Override
- p
rotected String getDefaultExtension(
) {
+ p
ublic String getDefaultExtension(boolean readerTarget
) {
return ".txt";
}
return ".txt";
}
@@
-59,7
+62,8
@@
class Text extends BasicOutput {
writer.write(title);
writer.write("\n");
if (author != null && !author.isEmpty()) {
writer.write(title);
writer.write("\n");
if (author != null && !author.isEmpty()) {
- writer.write("©" + author);
+ writer.write(Instance.getTrans().getString(StringId.BY) + " "
+ + author);
}
if (date != null && !date.isEmpty()) {
writer.write(" (");
}
if (date != null && !date.isEmpty()) {
writer.write(" (");
@@
-101,8
+105,16
@@
class Text extends BasicOutput {
protected void writeParagraphHeader(Paragraph para) throws IOException {
if (para.getType() == ParagraphType.IMAGE) {
File file = new File(targetDir, getCurrentImageBestName(true));
protected void writeParagraphHeader(Paragraph para) throws IOException {
if (para.getType() == ParagraphType.IMAGE) {
File file = new File(targetDir, getCurrentImageBestName(true));
- Instance.getCache().saveAsImage(new URL(para.getContent()), file);
+ try {
+ Instance.getCache().saveAsImage(para.getContentImage(), file,
+ nextParaIsCover);
+ } catch (IOException e) {
+ Instance.getTraceHandler().error(
+ new IOException("Cannot save an image", e));
+ }
}
}
+
+ nextParaIsCover = false;
}
@Override
}
@Override