X-Git-Url: http://git.nikiroo.be/?p=nikiroo-utils.git;a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Fsupported%2FMangaLel.java;h=47efad8594a71830a33e5de698e47256c3d87616;hp=020ee86f1d64c36f9002ff8156cb31194e097bfa;hb=cfdaf6052ddc5ca44cf19f1f6d9f154cc8443024;hpb=6fc76baee36823181069987e28cf4a3804dcd042 diff --git a/src/be/nikiroo/fanfix/supported/MangaLel.java b/src/be/nikiroo/fanfix/supported/MangaLel.java index 020ee86..47efad8 100644 --- a/src/be/nikiroo/fanfix/supported/MangaLel.java +++ b/src/be/nikiroo/fanfix/supported/MangaLel.java @@ -32,16 +32,13 @@ 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()); - meta.setPublisher(getType().getSourceName()); meta.setUuid(getSource().toString()); meta.setLuid(""); meta.setLang("fr"); meta.setSubject("manga"); - meta.setType(getType().toString()); meta.setImageDocument(true); meta.setCover(getCover()); @@ -60,30 +57,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 +99,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 +135,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 +158,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 +202,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("]
"); }