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
Update conversion tests and test files
[nikiroo-utils.git]
/
src
/
be
/
nikiroo
/
fanfix
/
supported
/
Epub.java
diff --git
a/src/be/nikiroo/fanfix/supported/Epub.java
b/src/be/nikiroo/fanfix/supported/Epub.java
index 6819ec29e272f1ee319fdf69da893b8d20855a77..8ae4c6c37052c5569674804b3be5d4fa3244f343 100644
(file)
--- a/
src/be/nikiroo/fanfix/supported/Epub.java
+++ b/
src/be/nikiroo/fanfix/supported/Epub.java
@@
-1,11
+1,11
@@
package be.nikiroo.fanfix.supported;
package be.nikiroo.fanfix.supported;
-import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
+import java.net.URLDecoder;
import java.util.ArrayList;
import java.util.List;
import java.util.Map.Entry;
import java.util.ArrayList;
import java.util.List;
import java.util.Map.Entry;
@@
-15,7
+15,7
@@
import java.util.zip.ZipInputStream;
import be.nikiroo.fanfix.Instance;
import be.nikiroo.fanfix.data.MetaData;
import be.nikiroo.utils.IOUtils;
import be.nikiroo.fanfix.Instance;
import be.nikiroo.fanfix.data.MetaData;
import be.nikiroo.utils.IOUtils;
-import be.nikiroo.utils.Image
Utils
;
+import be.nikiroo.utils.Image;
import be.nikiroo.utils.MarkableFileInputStream;
import be.nikiroo.utils.Progress;
import be.nikiroo.utils.StringUtils;
import be.nikiroo.utils.MarkableFileInputStream;
import be.nikiroo.utils.Progress;
import be.nikiroo.utils.StringUtils;
@@
-96,7
+96,7
@@
class Epub extends InfoText {
tmp = File.createTempFile("fanfic-reader-parser_", ".tmp");
File tmpInfo = new File(tmp + ".info");
fakeSource = tmp.toURI().toURL();
tmp = File.createTempFile("fanfic-reader-parser_", ".tmp");
File tmpInfo = new File(tmp + ".info");
fakeSource = tmp.toURI().toURL();
-
Buffered
Image cover = null;
+ Image cover = null;
String url = source.toString();
String title = null;
String url = source.toString();
String title = null;
@@
-125,9
+125,9
@@
class Epub extends InfoText {
// Cover
if (getCover()) {
try {
// Cover
if (getCover()) {
try {
- cover =
ImageUtils.fromStream
(zipIn);
+ cover =
new Image
(zipIn);
} catch (Exception e) {
} catch (Exception e) {
- Instance.
syser
r(e);
+ Instance.
getTraceHandler().erro
r(e);
}
}
} else if (entry.getName().equals(getDataPrefix() + "URL")) {
}
}
} else if (entry.getName().equals(getDataPrefix() + "URL")) {
@@
-180,6
+180,14
@@
class Epub extends InfoText {
}
tmpInfo.delete();
} else {
}
tmpInfo.delete();
} else {
+ if (title == null || title.isEmpty()) {
+ title = new File(source.getPath()).getName();
+ if (title.toLowerCase().endsWith(".cbz")) {
+ title = title.substring(0, title.length() - 4);
+ }
+ title = URLDecoder.decode(title, "UTF-8").trim();
+ }
+
meta = new MetaData();
meta.setLang("EN");
meta.setTags(new ArrayList<String>());
meta = new MetaData();
meta.setLang("EN");
meta.setTags(new ArrayList<String>());
@@
-188,11
+196,12
@@
class Epub extends InfoText {
meta.setUrl(url);
meta.setTitle(title);
meta.setAuthor(author);
meta.setUrl(url);
meta.setTitle(title);
meta.setAuthor(author);
+ meta.setImageDocument(isImagesDocumentByDefault());
}
}
@Override
}
}
@Override
- protected void close()
throws IOException
{
+ protected void close() {
if (tmp != null && tmp.exists()) {
if (!tmp.delete()) {
tmp.deleteOnExit();
if (tmp != null && tmp.exists()) {
if (!tmp.delete()) {
tmp.deleteOnExit();
@@
-202,7
+211,11
@@
class Epub extends InfoText {
tmp = null;
if (fakeIn != null) {
tmp = null;
if (fakeIn != null) {
- fakeIn.close();
+ try {
+ fakeIn.close();
+ } catch (Exception e) {
+ Instance.getTraceHandler().error(e);
+ }
}
super.close();
}
super.close();
@@
-219,4
+232,8
@@
class Epub extends InfoText {
protected boolean getCover() {
return true;
}
protected boolean getCover() {
return true;
}
+
+ protected boolean isImagesDocumentByDefault() {
+ return false;
+ }
}
}