do not allow empty cover images
[fanfix.git] / src / be / nikiroo / fanfix / supported / Cbz.java
index 22e436a22188b6e0442ba5f21c977ca0ddaed90c..a5391d07575e9f6102ab531e4a756c1be718f711 100644 (file)
@@ -63,6 +63,8 @@ class Cbz extends Epub {
                } else {
                        pg.setMinMax(0, 100);
                }
+               
+               pg.setName("Initialising");
 
                Progress pgMeta = new Progress();
                pg.addProgress(pgMeta, 10);
@@ -70,8 +72,8 @@ class Cbz extends Epub {
                MetaData meta = story.getMeta();
 
                pgMeta.done(); // 10%
-
-               File tmpDir = Instance.getTempFiles().createTempDir("info-text");
+               
+               File tmpDir = Instance.getInstance().getTempFiles().createTempDir("info-text");
                String basename = null;
 
                Map<String, Image> images = new HashMap<String, Image>();
@@ -95,9 +97,15 @@ class Cbz extends Epub {
                                        if (imageEntry) {
                                                String uuid = meta.getUuid() + "_" + entry.getName();
                                                try {
-                                                       images.put(uuid, new Image(zipIn));
+                                                       Image img = new Image(zipIn);
+                                                       if (img.getSize() == 0) {
+                                                               img.close();
+                                                               throw new IOException(
+                                                                               "Empty image not accepted");
+                                                       }
+                                                       images.put(uuid, img);
                                                } catch (Exception e) {
-                                                       Instance.getTraceHandler().error(e);
+                                                       Instance.getInstance().getTraceHandler().error(e);
                                                }
 
                                                if (pg.getProgress() < 85) {
@@ -114,9 +122,7 @@ class Cbz extends Epub {
                        }
                        
                        String ext = "."
-                                       + Instance.getConfig()
-                                                       .getString(Config.FILE_FORMAT_IMAGE_FORMAT_COVER)
-                                                       .toLowerCase();
+                                       + Instance.getInstance().getConfig().getString(Config.FILE_FORMAT_IMAGE_FORMAT_COVER).toLowerCase();
                        String coverName = meta.getUuid() + "_" + basename + ext;
                        Image cover = images.get(coverName);
                        images.remove(coverName);
@@ -168,7 +174,7 @@ class Cbz extends Epub {
                        }
 
                        if (!imagesList.isEmpty()) {
-                               Chapter chap = new Chapter(story.getChapters().size() + 1, null);
+                               Chapter chap = new Chapter(story.getChapters().size() + 1, "");
                                story.getChapters().add(chap);
 
                                for (String uuid : imagesList) {
@@ -176,7 +182,7 @@ class Cbz extends Epub {
                                                chap.getParagraphs().add(
                                                                new Paragraph(images.get(uuid)));
                                        } catch (Exception e) {
-                                               Instance.getTraceHandler().error(e);
+                                               Instance.getInstance().getTraceHandler().error(e);
                                        }
                                }
                        }
@@ -195,7 +201,7 @@ class Cbz extends Epub {
                        }
                }
 
-               pg.setProgress(100);
+               pg.done();
                return story;
        }