Search in sources :

Example 46 with Manga

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

the class MangaPanda method search.

@Override
public ArrayList<Manga> search(String term) throws Exception {
    ArrayList<Manga> mangas = new ArrayList<>();
    String data = getNavigatorAndFlushParameters().get(HOST + "/actions/search/?q=" + term + "&limit=100");
    Pattern p = Pattern.compile("(.+?)\\|.+?\\|(/.+?)\\|\\d+", Pattern.DOTALL);
    Matcher m = p.matcher(data);
    while (m.find()) {
        mangas.add(new Manga(getServerID(), m.group(1), HOST + m.group(2), false));
    }
    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 47 with Manga

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

the class MangaPanda method getMangasFiltered.

// /search/?w=&rd=0&status=0&order=0&genre=1000010000000000000000000000000000000&p=0
@Override
public ArrayList<Manga> getMangasFiltered(int[][] filters, int pageNumber) throws Exception {
    String gens = "";
    for (int i = 0; i < fltGenre.length; i++) {
        if (Util.getInstance().contains(filters[0], i)) {
            gens = gens + "1";
        } else {
            gens = gens + "0";
        }
    }
    ArrayList<Manga> mangas = new ArrayList<>();
    String web = HOST + "/search/?w=" + valType[filters[1][0]] + valStatus[filters[2][0]] + valOrder[filters[3][0]] + "&genre=" + gens + "&p=" + ((pageNumber - 1) * 30);
    String data = getNavigatorAndFlushParameters().get(web);
    Pattern p = Pattern.compile("(http:[^']+/cover/.+?)'.+?<h3><a href=\"(.+?)\">(.+?)<", Pattern.DOTALL);
    Matcher m = p.matcher(data);
    while (m.find()) {
        Manga manga = new Manga(getServerID(), m.group(3), HOST + m.group(2), false);
        manga.setImages(m.group(1).replace("r0", "l0"));
        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 48 with Manga

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

the class MangaRawOnline method search.

@Override
public ArrayList<Manga> search(String term) throws Exception {
    String data = getNavigatorAndFlushParameters().get("http://mangaraw.online/search?query=" + URLEncoder.encode(term, "UTF-8"));
    JSONArray results = new JSONObject(data).getJSONArray("suggestions");
    ArrayList<Manga> mangas = new ArrayList<>();
    for (int i = 0; i < results.length(); i++) {
        JSONObject result = results.getJSONObject(i);
        mangas.add(new Manga(getServerID(), result.getString("value"), "/manga/" + result.getString("data"), false));
    }
    return mangas;
}
Also used : JSONObject(org.json.JSONObject) JSONArray(org.json.JSONArray) ArrayList(java.util.ArrayList) Manga(ar.rulosoft.mimanganu.componentes.Manga)

Example 49 with Manga

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

the class MangaStream method search.

@Override
public ArrayList<Manga> search(String search) throws Exception {
    ArrayList<Manga> mangas = new ArrayList<>();
    ArrayList<String> tmpMangaPathList = new ArrayList<>();
    String web = HOST + "/manga";
    String source = getNavigatorAndFlushParameters().get(web);
    Pattern pattern = Pattern.compile(PATTERN_MANGA, Pattern.DOTALL);
    Matcher matcher = pattern.matcher(source);
    while (matcher.find()) {
        if (matcher.group(2).toLowerCase().contains(search.toLowerCase())) {
            Manga manga = new Manga(getServerID(), matcher.group(2), HOST + matcher.group(1), false);
            if (!tmpMangaPathList.contains(manga.getPath())) {
                mangas.add(manga);
                tmpMangaPathList.add(manga.getPath());
            }
        }
    }
    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 50 with Manga

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

the class MangaStream method getMangasFiltered.

@Override
public ArrayList<Manga> getMangasFiltered(int[][] filters, int pageNumber) throws Exception {
    String web = HOST + "/manga";
    String source = getNavigatorAndFlushParameters().get(web);
    Pattern pattern = Pattern.compile(PATTERN_MANGA, Pattern.DOTALL);
    Matcher matcher = pattern.matcher(source);
    ArrayList<Manga> mangas = new ArrayList<>();
    ArrayList<String> tmpMangaPathList = new ArrayList<>();
    while (matcher.find()) {
        Manga manga;
        if (matcher.group(1).startsWith("/"))
            manga = new Manga(getServerID(), matcher.group(2), HOST + matcher.group(1), false);
        else
            manga = new Manga(getServerID(), matcher.group(2), matcher.group(1), false);
        if (!tmpMangaPathList.contains(manga.getPath())) {
            mangas.add(manga);
            tmpMangaPathList.add(manga.getPath());
        }
    }
    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