try +1
[fanfix.git] / src / be / nikiroo / fanfix / supported / Epub.java
index 7ac3efc78703f7fb9e4a27fc2668c04c541965ad..356e3a88fcbdb9d43905a5c6717ed10c62309cb1 100644 (file)
@@ -27,8 +27,6 @@ import be.nikiroo.utils.StringUtils;
  * @author niki
  */
 class Epub extends InfoText {
-       private File sourceFileOriginal;
-
        private MetaData meta;
        private File tmpDir;
        private String desc;
@@ -42,7 +40,7 @@ class Epub extends InfoText {
        }
 
        public File getSourceFileOriginal() {
-               return sourceFileOriginal;
+               return super.getSourceFile();
        }
 
        @Override
@@ -61,7 +59,19 @@ class Epub extends InfoText {
 
        @Override
        protected InputStream getInput() {
-               return fakeIn;
+               if (fakeIn != null) {
+                       try {
+                               fakeIn.reset();
+                       } catch (IOException e) {
+                               Instance.getTraceHandler()
+                                               .error(new IOException(
+                                                               "Cannot reset the Epub Text stream", e));
+                       }
+
+                       return fakeIn;
+               }
+
+               return null;
        }
 
        @Override
@@ -175,9 +185,6 @@ class Epub extends InfoText {
 
                        if (tmpInfo.exists()) {
                                meta = InfoReader.readMeta(tmpInfo, true);
-                               if (cover != null) {
-                                       meta.setCover(cover);
-                               }
                                tmpInfo.delete();
                        } else {
                                if (title == null || title.isEmpty()) {
@@ -198,6 +205,17 @@ class Epub extends InfoText {
                                meta.setAuthor(author);
                                meta.setImageDocument(isImagesDocumentByDefault());
                        }
+
+                       if (meta.getCover() == null) {
+                               if (cover != null) {
+                                       meta.setCover(cover);
+                               } else {
+System.out.println(">>> " + getSourceFileOriginal());
+                                       meta.setCover(InfoReader
+                                                       .getCoverByName(getSourceFileOriginal().toURI()
+                                                                       .toURL()));
+                               }
+                       }
                } finally {
                        if (zipIn != null) {
                                zipIn.close();