code cleanup / jdoc
[nikiroo-utils.git] / src / be / nikiroo / fanfix / supported / MangaLel.java
index 020ee86f1d64c36f9002ff8156cb31194e097bfa..47efad8594a71830a33e5de698e47256c3d87616 100644 (file)
@@ -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("<br>");
+                       return getVal(tab, 1);
                }
 
-               return value;
+               return "";
        }
 
        private List<String> getTags() {
-               List<String> tags = new ArrayList<String>();
-
                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("<br>");
+                       List<String> tags = new ArrayList<String>();
+                       for (String tag : getVal(tab, 3).split(" ")) {
+                               tags.add(tag);
                        }
+                       return tags;
                }
 
-               return tags;
+               return new ArrayList<String>();
+
        }
 
        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("<br>");
+                       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<Entry<String, URL>> 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("]<br/>");
                        }