X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Fsupported%2FYiffStar.java;h=121f97dc35b449dbf4014a7d19c6d51e0f876cc4;hb=7c27e4429a9f1a51b608576d19bf602b68e2c098;hp=a612d4f24fcd2fc95a5fd0663d754b8dab4229ba;hpb=16a81ef7656c5c692fb831927e75edde25dd77a0;p=fanfix.git diff --git a/src/be/nikiroo/fanfix/supported/YiffStar.java b/src/be/nikiroo/fanfix/supported/YiffStar.java index a612d4f..121f97d 100644 --- a/src/be/nikiroo/fanfix/supported/YiffStar.java +++ b/src/be/nikiroo/fanfix/supported/YiffStar.java @@ -4,6 +4,7 @@ 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.HashMap; import java.util.List; @@ -24,8 +25,7 @@ import be.nikiroo.utils.StringUtils; * * @author niki */ -class YiffStar extends BasicSupport { - +class YiffStar extends BasicSupport_Deprecated { @Override public String getSourceName() { return "YiffStar"; @@ -44,7 +44,7 @@ class YiffStar extends BasicSupport { meta.setPublisher(getSourceName()); meta.setUuid(source.toString()); meta.setLuid(""); - meta.setLang("EN"); + meta.setLang("en"); meta.setSubject("Furry"); meta.setType(getType().toString()); meta.setImageDocument(false); @@ -79,10 +79,13 @@ class YiffStar extends BasicSupport { if (login != null && !login.isEmpty() && password != null && !password.isEmpty()) { + Map post = new HashMap(); - post.put("sfLoginUsername", login); - post.put("sfLoginPassword", password); + post.put("LoginForm[sfLoginUsername]", login); + post.put("LoginForm[sfLoginPassword]", password); post.put("YII_CSRF_TOKEN", ""); + post.put("yt1", "Login"); + post.put("returnUrl", "/"); // Cookies will actually be retained by the cache manager once // logged in @@ -93,19 +96,25 @@ class YiffStar extends BasicSupport { } @Override - public URL getCanonicalUrl(URL source) throws IOException { - if (source.getPath().startsWith("/view")) { - source = new URL(source.toString() + "/guest"); - InputStream in = Instance.getCache().open(source, this, false); - String line = getLine(in, "/browse/folder/", 0); - if (line != null) { - String[] tab = line.split("\""); - if (tab.length > 1) { - String groupUrl = source.getProtocol() + "://" - + source.getHost() + tab[1]; - return guest(groupUrl); + public URL getCanonicalUrl(URL source) { + try { + if (source.getPath().startsWith("/view")) { + source = guest(source.toString()); + // NO CACHE because we don't want the NotLoggedIn message later + InputStream in = Instance.getCache().openNoCache(source, this, + null, null, null); + String line = getLine(in, "/browse/folder/", 0); + if (line != null) { + String[] tab = line.split("\""); + if (tab.length > 1) { + String groupUrl = source.getProtocol() + "://" + + source.getHost() + tab[1]; + return guest(groupUrl); + } } } + } catch (Exception e) { + Instance.getTraceHandler().error(e); } return super.getCanonicalUrl(source); @@ -202,24 +211,8 @@ class YiffStar extends BasicSupport { link = source.getProtocol() + "://" + source.getHost() + link; } - final URL value = guest(link); - final String key = StringUtils.unhtml(line).trim(); - urls.add(new Entry() { - @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( + StringUtils.unhtml(line).trim(), guest(link))); } } }