Update to latest version of nikiroo-utils
[fanfix.git] / src / be / nikiroo / fanfix / supported / BasicSupport.java
index 471147ea0548ede456aa66e01a6337c9ae4ef1ef..fc6bbd20bf015e274c10ccc9463dea5a2e9397f6 100644 (file)
@@ -25,7 +25,7 @@ import be.nikiroo.fanfix.data.MetaData;
 import be.nikiroo.fanfix.data.Paragraph;
 import be.nikiroo.fanfix.data.Paragraph.ParagraphType;
 import be.nikiroo.fanfix.data.Story;
-import be.nikiroo.utils.IOUtils;
+import be.nikiroo.utils.ImageUtils;
 import be.nikiroo.utils.Progress;
 import be.nikiroo.utils.StringUtils;
 
@@ -106,7 +106,8 @@ public abstract class BasicSupport {
                }
 
                /**
-                * Call {@link SupportType#valueOf(String.toUpperCase())}.
+                * Call {@link SupportType#valueOf(String)} after conversion to upper
+                * case.
                 * 
                 * @param typeName
                 *            the possible type name
@@ -119,8 +120,8 @@ public abstract class BasicSupport {
                }
 
                /**
-                * Call {@link SupportType#valueOf(String.toUpperCase())} but return
-                * NULL for NULL instead of raising exception.
+                * Call {@link SupportType#valueOf(String)} after conversion to upper
+                * case but return NULL for NULL instead of raising exception.
                 * 
                 * @param typeName
                 *            the possible type name
@@ -136,8 +137,9 @@ public abstract class BasicSupport {
                }
 
                /**
-                * Call {@link SupportType#valueOf(String.toUpperCase())} but return
-                * NULL in case of error instead of raising an exception.
+                * Call {@link SupportType#valueOf(String)} after conversion to upper
+                * case but return NULL in case of error instead of raising an
+                * exception.
                 * 
                 * @param typeName
                 *            the possible type name
@@ -192,6 +194,19 @@ public abstract class BasicSupport {
         */
        protected abstract boolean isHtml();
 
+       /**
+        * Return the {@link MetaData} of this story.
+        * 
+        * @param source
+        *            the source of the story
+        * @param in
+        *            the input (the main resource)
+        * 
+        * @return the associated {@link MetaData}
+        * 
+        * @throws IOException
+        *             in case of I/O error
+        */
        protected abstract MetaData getMeta(URL source, InputStream in)
                        throws IOException;
 
@@ -313,9 +328,10 @@ public abstract class BasicSupport {
         * 
         * @param url
         *            the story resource
-        * 
         * @param close
         *            close "this" and "in" when done
+        * @param getDesc
+        *            retrieve the description of the story, or not
         * @param pg
         *            the optional progress reporter
         * 
@@ -576,6 +592,8 @@ public abstract class BasicSupport {
         * Create a {@link Chapter} object from the given information, formatting
         * the content as it should be.
         * 
+        * @param source
+        *            the source of the story
         * @param number
         *            the chapter number
         * @param name
@@ -593,7 +611,8 @@ public abstract class BasicSupport {
        protected Chapter makeChapter(URL source, int number, String name,
                        String content, Progress pg) throws IOException {
                // Chapter name: process it correctly, then remove the possible
-               // redundant "Chapter x: " in front of it
+               // redundant "Chapter x: " in front of it, or "-" (as in
+               // "Chapter 5: - Fun!" after the ": " was automatically added)
                String chapterName = processPara(name).getContent().trim();
                for (String lang : Instance.getConfig().getString(Config.CHAPTER)
                                .split(",")) {
@@ -611,7 +630,7 @@ public abstract class BasicSupport {
                                        Integer.toString(number).length()).trim();
                }
 
-               if (chapterName.startsWith(":")) {
+               while (chapterName.startsWith(":") || chapterName.startsWith("-")) {
                        chapterName = chapterName.substring(1).trim();
                }
                //
@@ -844,7 +863,7 @@ public abstract class BasicSupport {
                        InputStream in = null;
                        try {
                                in = Instance.getCache().open(url, getSupport(url), true);
-                               return IOUtils.toImage(in);
+                               return ImageUtils.fromStream(in);
                        } catch (IOException e) {
                        } finally {
                                if (in != null) {