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
Small fixes:
[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..794998e0d75c24ed36288aec9dcb7c846ecd93fd 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;
@@
-28,6
+28,7
@@
import be.nikiroo.utils.StringUtils;
*/
class Epub extends InfoText {
protected MetaData meta;
*/
class Epub extends InfoText {
protected MetaData meta;
+ private File tmpDir;
private File tmp;
private String desc;
private File tmp;
private String desc;
@@
-93,10
+94,11
@@
class Epub extends InfoText {
protected void preprocess(URL source, InputStream in) throws IOException {
// Note: do NOT close this stream, as it would also close "in"
ZipInputStream zipIn = new ZipInputStream(in);
protected void preprocess(URL source, InputStream in) throws IOException {
// Note: do NOT close this stream, as it would also close "in"
ZipInputStream zipIn = new ZipInputStream(in);
- tmp = File.createTempFile("fanfic-reader-parser_", ".tmp");
- File tmpInfo = new File(tmp + ".info");
+ tmpDir = Instance.getTempFiles().createTempDir("fanfic-reader-parser");
+ tmp = new File(tmpDir, "file.txt");
+ File tmpInfo = new File(tmpDir, "file.info");
fakeSource = tmp.toURI().toURL();
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
+127,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,29
+182,41
@@
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 = new MetaData();
- meta.setLang("
EN
");
+ meta.setLang("
en
");
meta.setTags(new ArrayList<String>());
meta.setSource(getSourceName());
meta.setUuid(url);
meta.setUrl(url);
meta.setTitle(title);
meta.setAuthor(author);
meta.setTags(new ArrayList<String>());
meta.setSource(getSourceName());
meta.setUuid(url);
meta.setUrl(url);
meta.setTitle(title);
meta.setAuthor(author);
+ meta.setImageDocument(isImagesDocumentByDefault());
}
}
@Override
}
}
@Override
- protected void close() throws IOException {
- if (tmp != null && tmp.exists()) {
- if (!tmp.delete()) {
- tmp.deleteOnExit();
- }
+ protected void close() {
+ if (tmpDir != null) {
+ IOUtils.deltree(tmpDir);
}
}
+ tmpDir = null;
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
+233,8
@@
class Epub extends InfoText {
protected boolean getCover() {
return true;
}
protected boolean getCover() {
return true;
}
+
+ protected boolean isImagesDocumentByDefault() {
+ return false;
+ }
}
}