X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Fsupported%2FMangaLel.java;h=47efad8594a71830a33e5de698e47256c3d87616;hb=14b6c21a81eb831f8f234db2f3be1ff3ca6b77ff;hp=020ee86f1d64c36f9002ff8156cb31194e097bfa;hpb=6fc76baee36823181069987e28cf4a3804dcd042;p=fanfix.git
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("]
");
}