X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Fsupported%2FE621.java;h=f1660e18cb34a9da6373ac03e6918ccc630ff25f;hb=d66deb8d8b30cff6b54db352eef34a3508939f84;hp=316ac2c2bcfbad54411467af2f34713e37772d8d;hpb=8ac3d09905c102fc1d4e6acb07bb3e0676c18931;p=nikiroo-utils.git diff --git a/src/be/nikiroo/fanfix/supported/E621.java b/src/be/nikiroo/fanfix/supported/E621.java index 316ac2c..f1660e1 100644 --- a/src/be/nikiroo/fanfix/supported/E621.java +++ b/src/be/nikiroo/fanfix/supported/E621.java @@ -3,6 +3,7 @@ package be.nikiroo.fanfix.supported; import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; +import java.net.MalformedURLException; import java.net.URL; import java.net.URLDecoder; import java.util.AbstractMap; @@ -122,7 +123,7 @@ class E621 extends BasicSupport { for (int i = 1; true; i++) { URL url = new URL(baseUrl + i + parameters); try { - InputStream pageI = Instance.getCache().open(url, this, false); + InputStream pageI = Instance.getInstance().getCache().open(url, this, false); try { if (IOUtils.readSmallStream(pageI).contains("Nobody here but us chickens!")) { break; @@ -158,7 +159,7 @@ class E621 extends BasicSupport { protected URL getCanonicalUrl(URL source) { if (isSetOriginalUrl(source)) { try { - Document doc = DataUtil.load(Instance.getCache().open(source, this, false), "UTF-8", source.toString()); + Document doc = DataUtil.load(Instance.getInstance().getCache().open(source, this, false), "UTF-8", source.toString()); for (Element shortname : doc.getElementsByClass("set-shortname")) { for (Element el : shortname.getElementsByTag("a")) { if (!el.attr("href").isEmpty()) @@ -166,7 +167,14 @@ class E621 extends BasicSupport { } } } catch (IOException e) { - Instance.getTraceHandler().error(e); + Instance.getInstance().getTraceHandler().error(e); + } + } + + if (isPool(source)) { + try { + return new URL(source.toString().replace("/pool/show/", "/pools/")); + } catch (MalformedURLException e) { } } @@ -274,8 +282,12 @@ class E621 extends BasicSupport { Image image = null; List> chapters = getChapters(null); if (!chapters.isEmpty()) { - URL url = chapters.get(0).getValue(); - image = bsImages.getImage(this, url); + URL chap1Url = chapters.get(0).getValue(); + String imgsChap1 = getChapterContent(chap1Url, 1, null); + if (!imgsChap1.isEmpty()) { + imgsChap1 = imgsChap1.split("]")[0].substring(1).trim(); + image = bsImages.getImage(this, new URL(imgsChap1)); + } } return image; @@ -287,7 +299,7 @@ class E621 extends BasicSupport { } private boolean isPool(URL url) { - return url.getPath().startsWith("/pools/"); + return url.getPath().startsWith("/pools/") || url.getPath().startsWith("/pool/show/"); } // set will be renamed into search by canonical url