manage remote and io exception in fanfix
[fanfix.git] / src / be / nikiroo / fanfix / library / LocalLibrary.java
index 90e10c3024a61949762fe6a95fb30b5472e0f54c..3b0a8489aae281cd929e4f3de06b5376f73ba677 100644 (file)
@@ -100,7 +100,7 @@ public class LocalLibrary extends BasicLibrary {
        }
 
        @Override
-       public File getFile(String luid, Progress pg) {
+       public File getFile(String luid, Progress pg) throws IOException {
                Instance.getTraceHandler().trace(
                                this.getClass().getSimpleName() + ": get file for " + luid);
 
@@ -122,7 +122,7 @@ public class LocalLibrary extends BasicLibrary {
        }
 
        @Override
-       public Image getCover(String luid) {
+       public Image getCover(String luid) throws IOException {
                MetaData meta = getInfo(luid);
                if (meta != null) {
                        if (meta.getCover() != null) {
@@ -288,12 +288,12 @@ public class LocalLibrary extends BasicLibrary {
        }
 
        @Override
-       public void setSourceCover(String source, String luid) {
+       public void setSourceCover(String source, String luid) throws IOException {
                setSourceCover(source, getCover(luid));
        }
 
        @Override
-       public void setAuthorCover(String author, String luid) {
+       public void setAuthorCover(String author, String luid) throws IOException {
                setAuthorCover(author, getCover(luid));
        }
 
@@ -414,6 +414,22 @@ public class LocalLibrary extends BasicLibrary {
                return text;
        }
 
+       /**
+        * Return the default {@link OutputType} for this kind of {@link Story}.
+        * 
+        * @param imageDocument
+        *            TRUE for images document, FALSE for text documents
+        * 
+        * @return the type
+        */
+       public String getOutputType(boolean imageDocument) {
+               if (imageDocument) {
+                       return image.toString();
+               }
+
+               return text.toString();
+       }
+
        /**
         * Get the target {@link File} related to the given <tt>.info</tt>
         * {@link File} and {@link MetaData}.
@@ -623,7 +639,8 @@ public class LocalLibrary extends BasicLibrary {
                                boolean info = file != null && file.isFile()
                                                && file.getPath().toLowerCase().endsWith(".info");
                                boolean dir = file != null && file.isDirectory();
-                               return info || dir;
+                               boolean isExpandedHtml = new File(file, "index.html").isFile();
+                               return info || (dir && !isExpandedHtml);
                        }
                });