Remove or move java.awt dependencies
[nikiroo-utils.git] / src / be / nikiroo / fanfix / supported / Epub.java
index 6819ec29e272f1ee319fdf69da893b8d20855a77..ba56cfb77540ac100e25a3ab4760544529ffea52 100644 (file)
@@ -1,11 +1,11 @@
 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.net.URLDecoder;
 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.utils.ImageUtils;
+import be.nikiroo.utils.Image;
 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();
-               BufferedImage cover = null;
+               Image cover = null;
 
                String url = source.toString();
                String title = null;
@@ -125,9 +125,9 @@ class Epub extends InfoText {
                                        // Cover
                                        if (getCover()) {
                                                try {
-                                                       cover = ImageUtils.fromStream(zipIn);
+                                                       cover = new Image(zipIn);
                                                } catch (Exception e) {
-                                                       Instance.syserr(e);
+                                                       Instance.getTraceHandler().error(e);
                                                }
                                        }
                                } else if (entry.getName().equals(getDataPrefix() + "URL")) {
@@ -180,6 +180,14 @@ class Epub extends InfoText {
                        }
                        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>());