Better URL entries + fix for FimFicAPI:
[fanfix.git] / src / be / nikiroo / fanfix / supported / EHentai.java
index fe993a1d8b53be0503e6f374132f12dfbc69acf1..9a09f077bf82b2145bd7242d52fbbb1b0d8cc266 100644 (file)
@@ -1,10 +1,10 @@
 package be.nikiroo.fanfix.supported;
 
-import java.awt.image.BufferedImage;
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.MalformedURLException;
 import java.net.URL;
+import java.util.AbstractMap;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map.Entry;
@@ -14,6 +14,7 @@ import be.nikiroo.fanfix.Instance;
 import be.nikiroo.fanfix.data.Chapter;
 import be.nikiroo.fanfix.data.MetaData;
 import be.nikiroo.fanfix.data.Story;
+import be.nikiroo.utils.Image;
 import be.nikiroo.utils.Progress;
 import be.nikiroo.utils.StringUtils;
 
@@ -23,7 +24,7 @@ import be.nikiroo.utils.StringUtils;
  * 
  * @author niki
  */
-class EHentai extends BasicSupport {
+class EHentai extends BasicSupport_Deprecated {
        @Override
        public String getSourceName() {
                return "e-hentai.org";
@@ -78,8 +79,8 @@ class EHentai extends BasicSupport {
                return true;
        }
 
-       private BufferedImage getCover(URL source, InputStream in) {
-               BufferedImage author = null;
+       private Image getCover(URL source, InputStream in) {
+               Image author = null;
                String coverLine = getKeyLine(in, "<div id=\"gd1\"", " url(", ")");
                if (coverLine != null) {
                        coverLine = StringUtils.unhtml(coverLine).trim();
@@ -108,11 +109,11 @@ class EHentai extends BasicSupport {
                if (langLine != null) {
                        langLine = StringUtils.unhtml(langLine).trim();
                        if (langLine.equalsIgnoreCase("English")) {
-                               lang = "EN";
+                               lang = "en";
                        } else if (langLine.equalsIgnoreCase("Japanese")) {
-                               lang = "JP";
+                               lang = "jp";
                        } else if (langLine.equalsIgnoreCase("French")) {
-                               lang = "FR";
+                               lang = "fr";
                        } else {
                                // TODO find the code?
                                lang = langLine;
@@ -229,24 +230,8 @@ class EHentai extends BasicSupport {
                }
 
                for (int i = 0; i <= last; i++) {
-                       final String key = Integer.toString(i + 1);
-                       final URL value = new URL(source.toString() + "?p=" + i);
-                       urls.add(new Entry<String, URL>() {
-                               @Override
-                               public URL setValue(URL value) {
-                                       return null;
-                               }
-
-                               @Override
-                               public URL getValue() {
-                                       return value;
-                               }
-
-                               @Override
-                               public String getKey() {
-                                       return key;
-                               }
-                       });
+                       urls.add(new AbstractMap.SimpleEntry<String, URL>(Integer
+                                       .toString(i + 1), new URL(source.toString() + "?p=" + i)));
                }
 
                return urls;
@@ -267,9 +252,10 @@ class EHentai extends BasicSupport {
                                try {
                                        pages.add(new URL(line));
                                } catch (MalformedURLException e) {
-                                       Instance.syserr(new IOException(
-                                                       "Parsing error, a link is not correctly parsed: "
-                                                                       + line, e));
+                                       Instance.getTraceHandler().error(
+                                                       new IOException(
+                                                                       "Parsing error, a link is not correctly parsed: "
+                                                                                       + line, e));
                                }
                        }
                }