make it subtree
[fanfix.git] / src / be / nikiroo / fanfix / searchable / MangaLel.java
diff --git a/src/be/nikiroo/fanfix/searchable/MangaLel.java b/src/be/nikiroo/fanfix/searchable/MangaLel.java
deleted file mode 100644 (file)
index 3e2924f..0000000
+++ /dev/null
@@ -1,192 +0,0 @@
-package be.nikiroo.fanfix.searchable;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.net.URLEncoder;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.jsoup.helper.DataUtil;
-import org.jsoup.nodes.Document;
-import org.jsoup.nodes.Element;
-import org.jsoup.select.Elements;
-
-import be.nikiroo.fanfix.Instance;
-import be.nikiroo.fanfix.bundles.StringId;
-import be.nikiroo.fanfix.data.MetaData;
-import be.nikiroo.fanfix.supported.SupportType;
-import be.nikiroo.utils.Image;
-import be.nikiroo.utils.StringUtils;
-
-class MangaLel extends BasicSearchable {
-       private String BASE_URL = "http://mangas-lecture-en-ligne.fr/index_lel.php";
-
-       public MangaLel() {
-               super(SupportType.MANGA_LEL);
-       }
-
-       @Override
-       public List<SearchableTag> getTags() throws IOException {
-               List<SearchableTag> tags = new ArrayList<SearchableTag>();
-
-               String url = BASE_URL + "?page=recherche";
-               Document doc = load(url, false);
-
-               Element genre = doc.getElementsByClass("genre").first();
-               if (genre != null) {
-                       for (Element el : genre.getElementsByAttributeValueStarting("for",
-                                       "genre")) {
-                               tags.add(new SearchableTag(el.attr("for"), el.text(), true));
-                       }
-               }
-
-               return tags;
-       }
-
-       @Override
-       public void fillTag(SearchableTag tag) throws IOException {
-               // Tags are always complete
-       }
-
-       @Override
-       public List<MetaData> search(String search, int page) throws IOException {
-               String url = BASE_URL + "?nomProjet="
-                               + URLEncoder.encode(search, "utf-8")
-                               + "&nomAuteur=&nomTeam=&page=recherche&truc=truc";
-
-               // No pagination
-               return getResults(url);
-       }
-
-       @Override
-       public List<MetaData> search(SearchableTag tag, int page)
-                       throws IOException {
-               String url = BASE_URL + "?nomProjet=&nomAuteur=&nomTeam=&"
-                               + tag.getId() + "=on&page=recherche&truc=truc";
-
-               // No pagination
-               return getResults(url);
-       }
-
-       @Override
-       public int searchPages(String search) throws IOException {
-               // No pagination
-               return 1;
-       }
-
-       @Override
-       public int searchPages(SearchableTag tag) throws IOException {
-               if (tag.isLeaf()) {
-                       // No pagination
-                       return 1;
-               }
-
-               return 0;
-       }
-
-       private List<MetaData> getResults(String sourceUrl) throws IOException {
-               List<MetaData> metas = new ArrayList<MetaData>();
-
-               Document doc = DataUtil.load(
-                               Instance.getCache().open(new URL(sourceUrl), getSupport(),
-                                               false), "UTF-8", sourceUrl);
-
-               for (Element result : doc.getElementsByClass("rechercheAffichage")) {
-                       Element a = result.getElementsByTag("a").first();
-                       if (a != null) {
-                               int projectId = -1;
-
-                               MetaData meta = new MetaData();
-
-                               // Target:
-                               // http://mangas-lecture-en-ligne.fr/index_lel.php?page=presentationProjet&idProjet=218
-
-                               // a.absUrl("href"):
-                               // http://mangas-lecture-en-ligne.fr/index_lel?onCommence=oui&idChapitre=2805
-
-                               // ...but we need the PROJECT id, not the CHAPTER id -> use
-                               // <IMG>
-
-                               Elements infos = result.getElementsByClass("texte");
-                               if (infos != null) {
-                                       String[] tab = infos.outerHtml().split("<br>");
-
-                                       meta.setLang("fr");
-                                       meta.setSource(getType().getSourceName());
-                                       meta.setPublisher(getType().getSourceName());
-                                       meta.setType(getType().toString());
-                                       meta.setSubject("manga");
-                                       meta.setImageDocument(true);
-                                       meta.setTitle(getVal(tab, 0));
-                                       meta.setAuthor(getVal(tab, 1));
-                                       meta.setTags(Arrays.asList(getVal(tab, 2).split(" ")));
-
-                                       meta.setResume(getSupport()
-                                                       .makeChapter(
-                                                                       new URL(sourceUrl),
-                                                                       0,
-                                                                       Instance.getTrans().getString(
-                                                                                       StringId.DESCRIPTION),
-                                                                       getVal(tab, 5)));
-                               }
-
-                               Element img = result.getElementsByTag("img").first();
-                               if (img != null) {
-                                       try {
-                                               String[] tab = img.attr("src").split("/");
-                                               String str = tab[tab.length - 1];
-                                               tab = str.split("\\.");
-                                               str = tab[0];
-                                               projectId = Integer.parseInt(str);
-
-                                               String coverUrl = img.absUrl("src");
-                                               try {
-                                                       InputStream in = Instance.getCache().open(
-                                                                       new URL(coverUrl), getSupport(), true);
-                                                       try {
-                                                               meta.setCover(new Image(in));
-                                                       } finally {
-                                                               in.close();
-                                                       }
-                                               } catch (Exception e) {
-                                                       // Happen often on MangaLEL...
-                                                       Instance.getTraceHandler().trace(
-                                                                       "Cannot download cover for MangaLEL story in search mode: "
-                                                                                       + meta.getTitle());
-                                               }
-                                       } catch (Exception e) {
-                                               // no project id... cannot use the story :(
-                                               Instance.getTraceHandler().error(
-                                                               "Cannot find ProjectId for MangaLEL story in search mode: "
-                                                                               + meta.getTitle());
-                                       }
-                               }
-
-                               if (projectId >= 0) {
-                                       meta.setUrl("http://mangas-lecture-en-ligne.fr/index_lel.php?page=presentationProjet&idProjet="
-                                                       + projectId);
-                                       meta.setUuid(meta.getUrl());
-                                       metas.add(meta);
-                               }
-                       }
-               }
-
-               return metas;
-       }
-
-       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;
-       }
-}