X-Git-Url: http://git.nikiroo.be/?p=fanfix.git;a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Fsupported%2FMangaLel.java;h=5910a371aedf7272e546ec7170b508516879ced1;hp=020ee86f1d64c36f9002ff8156cb31194e097bfa;hb=0a264fbe3d5a43516006052574a5f322d9d38897;hpb=6fc76baee36823181069987e28cf4a3804dcd042 diff --git a/src/be/nikiroo/fanfix/supported/MangaLel.java b/src/be/nikiroo/fanfix/supported/MangaLel.java index 020ee86..5910a37 100644 --- a/src/be/nikiroo/fanfix/supported/MangaLel.java +++ b/src/be/nikiroo/fanfix/supported/MangaLel.java @@ -32,7 +32,7 @@ class MangaLel extends BasicSupport { meta.setTitle(getTitle()); meta.setAuthor(getAuthor()); - meta.setDate(getDate()); + meta.setDate(bsHelper.formatDate(getDate())); meta.setTags(getTags()); meta.setSource(getType().getSourceName()); meta.setUrl(getSource().toString()); @@ -60,30 +60,29 @@ class MangaLel extends BasicSupport { private String getAuthor() { Element doc = getSourceNode(); - Elements tabEls = doc.getElementsByClass("projet-titre"); - - String value = ""; - if (tabEls.size() >= 2) { - value = StringUtils.unhtml(tabEls.get(1).text()).trim(); + Element tabEls = doc.getElementsByClass("presentation-projet").first(); + if (tabEls != null) { + String[] tab = tabEls.outerHtml().split("
"); + return getVal(tab, 1); } - return value; + return ""; } private List getTags() { - List tags = new ArrayList(); - Element doc = getSourceNode(); - Elements tabEls = doc.getElementsByClass("projet-titre"); - - if (tabEls.size() >= 4) { - String values = StringUtils.unhtml(tabEls.get(3).text()).trim(); - for (String value : values.split(",")) { - tags.add(value); + Element tabEls = doc.getElementsByClass("presentation-projet").first(); + if (tabEls != null) { + String[] tab = tabEls.outerHtml().split("
"); + List tags = new ArrayList(); + for (String tag : getVal(tab, 3).split(" ")) { + tags.add(tag); } + return tags; } - return tags; + return new ArrayList(); + } private String getDate() { @@ -103,29 +102,19 @@ class MangaLel extends BasicSupport { } } - if (!value.isEmpty()) { - try { - long time = StringUtils.toTime(value); - value = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss") - .format(time); - } catch (ParseException e) { - } - } - return value; } @Override protected String getDesc() { Element doc = getSourceNode(); - Elements tabEls = doc.getElementsByClass("projet-titre"); - - String value = ""; - if (tabEls.size() >= 5) { - value = StringUtils.unhtml(tabEls.get(4).text()).trim(); + Element tabEls = doc.getElementsByClass("presentation-projet").first(); + if (tabEls != null) { + String[] tab = tabEls.outerHtml().split("
"); + return getVal(tab, 4); } - return value; + return ""; } private Image getCover() { @@ -149,17 +138,22 @@ class MangaLel extends BasicSupport { if (img != null) { String coverUrl = img.absUrl("src"); - InputStream coverIn; try { - coverIn = Instance.getCache().open(new URL(coverUrl), this, - true); + InputStream coverIn = Instance.getInstance().getCache() + .open(new URL(coverUrl), this, true); try { - return new Image(coverIn); + Image ii = new Image(coverIn); + if (ii.getSize() == 0) { + ii.close(); + throw new IOException("Empty image not accepted"); + } + + return ii; } finally { coverIn.close(); } } catch (IOException e) { - Instance.getTraceHandler().error(e); + Instance.getInstance().getTraceHandler().error(e); } } } @@ -167,6 +161,20 @@ class MangaLel extends BasicSupport { return null; } + private String getVal(String[] tab, int i) { + String val = ""; + + if (i < tab.length) { + val = StringUtils.unhtml(tab[i]); + int pos = val.indexOf(":"); + if (pos >= 0) { + val = val.substring(pos + 1).trim(); + } + } + + return val; + } + @Override protected List> getChapters(Progress pg) throws IOException { @@ -197,18 +205,18 @@ class MangaLel extends BasicSupport { StringBuilder builder = new StringBuilder(); - InputStream in = Instance.getCache().open(chapUrl, this, false); + InputStream in = Instance.getInstance().getCache().open(chapUrl, this, false); try { Element pageDoc = DataUtil.load(in, "UTF-8", chapUrl.toString()); Element content = pageDoc.getElementById("content"); Elements linkEls = content.getElementsByTag("img"); for (Element linkEl : linkEls) { - if (linkEl.attr("src").trim().isEmpty()) { + if (linkEl.absUrl("src").isEmpty()) { continue; } builder.append("["); - builder.append(linkEl.absUrl("src").trim()); + builder.append(linkEl.absUrl("src")); builder.append("]
"); }