Search in sources :

Example 6 with Manga

use of ar.rulosoft.mimanganu.componentes.Manga in project MiMangaNu by raulhaag.

the class NineManga method search.

@Override
public ArrayList<Manga> search(String term) throws Exception {
    ArrayList<Manga> mangas = new ArrayList<>();
    String data = getNavigatorWithNeededHeader().get(HOST + "/search/?wd=" + URLEncoder.encode(term, "UTF-8"));
    Pattern p = Pattern.compile(PATTERN_MANGA, Pattern.DOTALL);
    Matcher m = p.matcher(data);
    while (m.find()) {
        Manga manga = new Manga(getServerID(), m.group(2), m.group(1), false);
        mangas.add(manga);
    }
    return mangas;
}
Also used : Pattern(java.util.regex.Pattern) Matcher(java.util.regex.Matcher) ArrayList(java.util.ArrayList) Manga(ar.rulosoft.mimanganu.componentes.Manga)

Example 7 with Manga

use of ar.rulosoft.mimanganu.componentes.Manga in project MiMangaNu by raulhaag.

the class RawSenManga method search.

@Override
public ArrayList<Manga> search(String term) throws Exception {
    String web = HOST + "/search/" + URLEncoder.encode(term, "UTF-8");
    String source = getNavigatorAndFlushParameters().get(web);
    Pattern p = Pattern.compile("<a href=\"([^\"]+)\" title=\"([^\"]+)\">\\s*<span class=\"cover\">\\s*<img src=\"([^\"]+)", Pattern.DOTALL);
    Matcher m = p.matcher(source);
    ArrayList<Manga> mangas = new ArrayList<>();
    while (m.find()) {
        Manga manga = new Manga(getServerID(), m.group(2), m.group(1), false);
        mangas.add(manga);
    }
    return mangas;
}
Also used : Pattern(java.util.regex.Pattern) Matcher(java.util.regex.Matcher) ArrayList(java.util.ArrayList) Manga(ar.rulosoft.mimanganu.componentes.Manga)

Example 8 with Manga

use of ar.rulosoft.mimanganu.componentes.Manga in project MiMangaNu by raulhaag.

the class ReadComicOnline method search.

@Override
public ArrayList<Manga> search(String term) throws Exception {
    Navigator nav = getNavigatorAndFlushParameters();
    nav.addPost("keyword", URLEncoder.encode(term, "UTF-8"));
    String source = nav.post(HOST + "/Search/Comic");
    ArrayList<Manga> searchList;
    Pattern p = Pattern.compile(PATTERN_SEARCH, Pattern.DOTALL);
    Matcher m = p.matcher(source);
    if (m.find()) {
        searchList = new ArrayList<>();
        searchList.add(new Manga(READCOMICONLINE, m.group(2), m.group(1), m.group().contains("Status:</span>&nbsp;Completed")));
    } else {
        searchList = getMangasSource(source);
    }
    return searchList;
}
Also used : Pattern(java.util.regex.Pattern) Matcher(java.util.regex.Matcher) Navigator(ar.rulosoft.navegadores.Navigator) Manga(ar.rulosoft.mimanganu.componentes.Manga)

Example 9 with Manga

use of ar.rulosoft.mimanganu.componentes.Manga in project MiMangaNu by raulhaag.

the class ReadMangaToday method getMangasFiltered.

@Override
public ArrayList<Manga> getMangasFiltered(int[][] filters, int pageNumber) throws Exception {
    String web;
    if (fltGenre[filters[0][0]] == R.string.flt_tag_all) {
        if (pageNumber == 1) {
            web = HOST + "/hot-manga/";
        } else {
            web = HOST + "/hot-manga/" + pageNumber;
        }
    } else {
        web = HOST + valGenre[filters[0][0]] + pageNumber;
    }
    String source = getNavigatorAndFlushParameters().getAndReturnResponseCodeOnFailure(web);
    if (source.equals("400")) {
        // ReadMangaToday returns 400 Bad Request sometimes
        // deleting it's cookies will usually get rid of the error
        Util.getInstance().removeSpecificCookies(context, HOST);
        source = getNavigatorAndFlushParameters().get(web);
    }
    // regex to generate genre ids: <li>.+?title="All Categories - (.+?)">
    Pattern pattern = Pattern.compile("<div class=\"left\">.+?<a href=\"(.+?)\" title=\"(.+?)\"><img src=\"(.+?)\" alt=\"", Pattern.DOTALL);
    Matcher matcher = pattern.matcher(source);
    ArrayList<Manga> mangas = new ArrayList<>();
    while (matcher.find()) {
        Manga m = new Manga(getServerID(), matcher.group(2), matcher.group(1), false);
        m.setImages(matcher.group(3).replace("thumb/", ""));
        mangas.add(m);
    }
    return mangas;
}
Also used : Pattern(java.util.regex.Pattern) Matcher(java.util.regex.Matcher) ArrayList(java.util.ArrayList) Manga(ar.rulosoft.mimanganu.componentes.Manga)

Example 10 with Manga

use of ar.rulosoft.mimanganu.componentes.Manga in project MiMangaNu by raulhaag.

the class ViewComic method getMangasFromSource.

private ArrayList<Manga> getMangasFromSource(String source) {
    ArrayList<Manga> mangas = new ArrayList<>();
    Pattern pattern = Pattern.compile(PATTERN_MANGA, Pattern.DOTALL);
    Matcher matcher = pattern.matcher(source);
    while (matcher.find()) {
        Manga manga = new Manga(getServerID(), matcher.group(3), matcher.group(2), false);
        manga.setImages(matcher.group(1));
        mangas.add(manga);
    }
    return mangas;
}
Also used : Pattern(java.util.regex.Pattern) Matcher(java.util.regex.Matcher) ArrayList(java.util.ArrayList) Manga(ar.rulosoft.mimanganu.componentes.Manga)

Aggregations

Manga (ar.rulosoft.mimanganu.componentes.Manga)61 ArrayList (java.util.ArrayList)48 Matcher (java.util.regex.Matcher)40 Pattern (java.util.regex.Pattern)40 JSONObject (org.json.JSONObject)6 View (android.view.View)5 Navigator (ar.rulosoft.navegadores.Navigator)5 Chapter (ar.rulosoft.mimanganu.componentes.Chapter)4 AsyncAddManga (ar.rulosoft.mimanganu.utils.AsyncAddManga)4 JSONArray (org.json.JSONArray)4 MenuInflater (android.view.MenuInflater)3 ServerBase (ar.rulosoft.mimanganu.servers.ServerBase)3 List (java.util.List)3 Bundle (android.os.Bundle)2 RecyclerView (android.support.v7.widget.RecyclerView)2 OnClickListener (android.view.View.OnClickListener)2 AdapterView (android.widget.AdapterView)2 OnItemClickListener (android.widget.AdapterView.OnItemClickListener)2 ListView (android.widget.ListView)2 MangasRecAdapter (ar.rulosoft.mimanganu.adapters.MangasRecAdapter)2