X-Git-Url: https://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Fsearchable%2FMangaLel.java;h=5ba21a0e1ce25b799dc0b9a6d14d3a447135ef01;hb=6d465e886ae46c9da99117cc4302948f700a51c4;hp=c8a522c896d17849ab1cc223d86c468aa15934fa;hpb=4749f2c50437f610f7e5258ab1c22a9f1bfa527a;p=fanfix.git diff --git a/src/be/nikiroo/fanfix/searchable/MangaLel.java b/src/be/nikiroo/fanfix/searchable/MangaLel.java deleted file mode 100644 index c8a522c..0000000 --- a/src/be/nikiroo/fanfix/searchable/MangaLel.java +++ /dev/null @@ -1,148 +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 getTags() throws IOException { - List tags = new ArrayList(); - - 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 int searchPages(String search) throws IOException { - // No pagination - return 1; - } - - @Override - public List 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 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); - } - - private List getResults(String sourceUrl) throws IOException { - List metas = new ArrayList(); - - 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) { - MetaData meta = new MetaData(); - meta.setUrl(a.absUrl("href")); - Element img = result.getElementsByTag("img").first(); - if (img != null) { - 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) { - Instance.getTraceHandler() - .error(new Exception( - "Cannot download cover for MangaLEL story in search mode", - e)); - } - } - - Elements infos = result.getElementsByClass("texte"); - if (infos != null) { - String[] tab = infos.outerHtml().split("
"); - - 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))); - } - - 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; - } -}