improve progress code
[fanfix.git] / src / be / nikiroo / fanfix / supported / BasicSupport.java
index ed92b2f37821342771f27eb22841ca53a6aa994b..388f57222cf41da10d24a354626cb6409195304a 100644 (file)
@@ -84,7 +84,7 @@ public abstract class BasicSupport {
        protected abstract String getDesc() throws IOException;
 
        /**
-        * Return the list of chapters (name and resource). *
+        * Return the list of chapters (name and resource).
         * <p>
         * Can be NULL if this {@link BasicSupport} do no use chapters.
         * 
@@ -247,27 +247,6 @@ public abstract class BasicSupport {
                setCurrentReferer(null);
        }
 
-       /**
-        * Process the given story resource into a partially filled {@link Story}
-        * object containing the name and metadata, except for the description.
-        * 
-        * @return the {@link Story}
-        * 
-        * @throws IOException
-        *             in case of I/O error
-        */
-       public final Story processMeta() throws IOException {
-               Story story = null;
-
-               try {
-                       story = processMeta(false, null);
-               } finally {
-                       close();
-               }
-
-               return story;
-       }
-
        /**
         * Process the given story resource into a partially filled {@link Story}
         * object containing the name and metadata.
@@ -294,7 +273,6 @@ public abstract class BasicSupport {
 
                Story story = new Story();
                MetaData meta = getMeta();
-System.out.println("meta from support get: "+meta);
                if (meta.getCreationDate() == null || meta.getCreationDate().isEmpty()) {
                        meta.setCreationDate(StringUtils.fromTime(new Date().getTime()));
                }
@@ -322,9 +300,8 @@ System.out.println("meta from support get: "+meta);
        }
 
        /**
-        * Actual processing step, without the calls to other methods.
-        * <p>
-        * Will convert the story resource into a fully filled {@link Story} object.
+        * Process the given story resource into a fully filled {@link Story}
+        * object.
         * 
         * @param pg
         *            the optional progress reporter
@@ -334,7 +311,7 @@ System.out.println("meta from support get: "+meta);
         * @throws IOException
         *             in case of I/O error
         */
-       // TODO: add final
+       // ADD final when BasicSupport_Deprecated is gone
        public Story process(Progress pg) throws IOException {
                setCurrentReferer(source);
                login();
@@ -348,8 +325,9 @@ System.out.println("meta from support get: "+meta);
        }
 
        /**
-        * Process the given story resource into a fully filled {@link Story}
-        * object.
+        * Actual processing step, without the calls to other methods.
+        * <p>
+        * Will convert the story resource into a fully filled {@link Story} object.
         * 
         * @param pg
         *            the optional progress reporter
@@ -359,7 +337,7 @@ System.out.println("meta from support get: "+meta);
         * @throws IOException
         *             in case of I/O error
         */
-       public Story doProcess(Progress pg) throws IOException {
+       protected Story doProcess(Progress pg) throws IOException {
                if (pg == null) {
                        pg = new Progress();
                } else {
@@ -370,9 +348,7 @@ System.out.println("meta from support get: "+meta);
                Progress pgMeta = new Progress();
                pg.addProgress(pgMeta, 10);
                Story story = processMeta(true, pgMeta);
-               if (!pgMeta.isDone()) {
-                       pgMeta.setProgress(pgMeta.getMax()); // 10%
-               }
+               pgMeta.done(); // 10%
 
                pg.setName("Retrieving " + story.getMeta().getTitle());
 
@@ -380,9 +356,7 @@ System.out.println("meta from support get: "+meta);
                pg.addProgress(pgGetChapters, 10);
                story.setChapters(new ArrayList<Chapter>());
                List<Entry<String, URL>> chapters = getChapters(pgGetChapters);
-               if (!pgGetChapters.isDone()) {
-                       pgGetChapters.setProgress(pgGetChapters.getMax()); // 20%
-               }
+               pgGetChapters.done(); // 20%
 
                if (chapters != null) {
                        Progress pgChaps = new Progress("Extracting chapters", 0,
@@ -407,16 +381,10 @@ System.out.println("meta from support get: "+meta);
 
                                String content = getChapterContent(chapUrl, i,
                                                pgGetChapterContent);
-                               if (!pgGetChapterContent.isDone()) {
-                                       pgGetChapterContent.setProgress(pgGetChapterContent
-                                                       .getMax());
-                               }
-
+                               pgGetChapterContent.done();
                                Chapter cc = BasicSupportPara.makeChapter(this, chapUrl, i,
                                                chapName, content, isHtml(), pgMakeChapter);
-                               if (!pgMakeChapter.isDone()) {
-                                       pgMakeChapter.setProgress(pgMakeChapter.getMax());
-                               }
+                               pgMakeChapter.done();
 
                                words += cc.getWords();
                                story.getChapters().add(cc);
@@ -426,10 +394,10 @@ System.out.println("meta from support get: "+meta);
                        }
 
                        pgChaps.setName("Extracting chapters");
-               } else {
-                       pg.setProgress(80);
                }
 
+               pg.done();
+
                return story;
        }
 
@@ -515,6 +483,9 @@ System.out.println("meta from support get: "+meta);
                case E_HENTAI:
                        support = new EHentai();
                        break;
+               case MANGA_LEL:
+                       support = new MangaLel();
+                       break;
                case CBZ:
                        support = new Cbz();
                        break;