try+1
authorNiki Roo <niki@nikiroo.be>
Fri, 10 Aug 2018 17:39:20 +0000 (19:39 +0200)
committerNiki Roo <niki@nikiroo.be>
Fri, 10 Aug 2018 17:39:20 +0000 (19:39 +0200)
src/be/nikiroo/fanfix/supported/Epub.java
src/be/nikiroo/fanfix/supported/InfoReader.java

index 356e3a88fcbdb9d43905a5c6717ed10c62309cb1..e5261d36b7a9e291ebfd16b303f22cf51d9b35db 100644 (file)
@@ -210,7 +210,6 @@ class Epub extends InfoText {
                                if (cover != null) {
                                        meta.setCover(cover);
                                } else {
-System.out.println(">>> " + getSourceFileOriginal());
                                        meta.setCover(InfoReader
                                                        .getCoverByName(getSourceFileOriginal().toURI()
                                                                        .toURL()));
index 80f873989ad03b95db685ffa94603fa7f4e4f30f..369b32454ac95c2433122c9d9dcd422bcfb7157f 100644 (file)
@@ -91,17 +91,31 @@ public class InfoReader {
         * @return the cover if present, NULL if not
         */
        public static Image getCoverByName(URL sourceInfoFile) {
-               String info = sourceInfoFile.getFile().toString();
-               if (info.endsWith(".info")) {
-                       info = info.substring(0, info.length() - ".info".length());
-                       String ext = "."
-                                       + Instance.getConfig().getString(Config.IMAGE_FORMAT_COVER)
-                                                       .toLowerCase();
-                       return BasicSupportHelper
-                                       .getImage(null, sourceInfoFile, info + ext);
+               Image cover = null;
+
+               File basefile = new File(sourceInfoFile.getFile());
+
+               String ext = "."
+                               + Instance.getConfig().getString(Config.IMAGE_FORMAT_COVER)
+                                               .toLowerCase();
+
+               // Without removing ext
+               cover = BasicSupportHelper.getImage(null, sourceInfoFile,
+                               basefile.getAbsolutePath() + ext);
+
+               // Try without ext
+               String name = basefile.getName();
+               int pos = name.lastIndexOf(".");
+               if (cover == null && pos > 0) {
+                       name = name.substring(0, pos);
+                       basefile = new File(basefile.getParent(), basefile.getName());
+
+System.out.println(">>> " + basefile);
+                       cover = BasicSupportHelper.getImage(null, sourceInfoFile,
+                                       basefile.getAbsolutePath() + ext);
                }
 
-               return null;
+               return cover;
        }
 
        private static boolean getInfoTagBoolean(InputStream in, String key,