Search in sources :

Example 16 with Manga

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

the class MangaHere method search.

@Override
public ArrayList<Manga> search(String term) throws Exception {
    ArrayList<Manga> mangas = new ArrayList<>();
    String web = HOST + "/search.php?name=" + term.replace(" ", "+");
    String data = getNavigatorAndFlushParameters().get(web);
    if (data.contains("Sorry you have just searched, please try 5 seconds later.")) {
        TimeUnit.MILLISECONDS.sleep(5500);
        data = getNavigatorAndFlushParameters().get(web);
    }
    Pattern p = Pattern.compile(PATTERN_MANGA_SEARCHED, Pattern.DOTALL);
    Matcher m = p.matcher(data);
    while (m.find()) {
        mangas.add(new Manga(getServerID(), m.group(2), m.group(1), 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 17 with Manga

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

the class MangaKawaii method search.

@Override
public ArrayList<Manga> search(String search) throws Exception {
    Navigator nav = getNavigatorAndFlushParameters();
    String data = nav.get("https://www.mangakawaii.com/recherche?query=" + URLEncoder.encode(search, "UTF-8"));
    JSONArray array = new JSONObject(data).getJSONArray("suggestions");
    ArrayList<Manga> mangas = new ArrayList<>();
    for (int i = 0, n = array.length(); i < n; i++) {
        mangas.add(new Manga(getServerID(), array.getJSONObject(i).getString("value"), "https://www.mangakawaii.com/manga/" + array.getJSONObject(i).getString("data"), false));
    }
    return mangas;
}
Also used : JSONObject(org.json.JSONObject) Navigator(ar.rulosoft.navegadores.Navigator) JSONArray(org.json.JSONArray) ArrayList(java.util.ArrayList) Manga(ar.rulosoft.mimanganu.componentes.Manga)

Example 18 with Manga

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

the class MangaPanda method getMangas.

@Override
public ArrayList<Manga> getMangas() throws Exception {
    ArrayList<Manga> mangas = new ArrayList<>();
    String data = getNavigatorAndFlushParameters().get(HOST + "/alphabetical");
    Pattern p = Pattern.compile(PATTERN_SUB, Pattern.DOTALL);
    Matcher m = p.matcher(data);
    if (m.find()) {
        String b = m.group(1);
        Pattern p1 = Pattern.compile(PATTERN_SERIE, Pattern.DOTALL);
        Matcher m1 = p1.matcher(b);
        while (m1.find()) {
            mangas.add(new Manga(this.getServerID(), m1.group(2), HOST + m1.group(1), 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 19 with Manga

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

the class MangaRawOnline method getMangasFiltered.

@Override
public ArrayList<Manga> getMangasFiltered(int[][] filters, int pageNumber) throws Exception {
    // http://mangaraw.online/filterList?page=1&cat=3&alpha=&sortBy=name&asc=true&author=&tag=
    if (pageNumber == 1)
        last_page = 10;
    ArrayList<Manga> mangas = new ArrayList<>();
    if (last_page > pageNumber) {
        String cat = "&cat=";
        if (filters[0][0] != 0) {
            cat = cat + filters[0][0];
        }
        String url = HOST + "/filterList?page=" + (pageNumber) + cat + "&alpha=" + orderV[filters[1][0]] + orderDirV[filters[2][0]];
        String data = getNavigatorAndFlushParameters().get(url);
        last_page = Integer.parseInt(getFirstMatchDefault(">(\\d+)<\\/a><\\/li><li>[^>]+?page[^>]+?rel", data, "" + (pageNumber + 1)));
        String name;
        Pattern p = Pattern.compile("src=['|\"](.+?)['|\"] alt=['|\"](.*?)['|\"][\\s\\S]+?(/manga/.+?)['|\"]", Pattern.DOTALL);
        Matcher m = p.matcher(data);
        while (m.find()) {
            if (m.group(2).isEmpty()) {
                name = m.group(3).substring(m.group(3).lastIndexOf("/") + 1).replaceAll("-", " ").replace(".html", "");
            } else {
                name = m.group(2);
            }
            Manga manga = new Manga(getServerID(), name, m.group(3), false);
            if (!m.group(1).equals("http://mangaraw.online/uploads/no-image.png"))
                manga.setImages(m.group(1));
            else {
                String iPath = m.group(3).substring(m.group(3).lastIndexOf("/") + 1).replace(".html", "");
                manga.setImages(HOST + "/uploads/manga/" + iPath + "/cover/cover_250x350.jpg");
            }
            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 20 with Manga

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

the class MangaTown method search.

@Override
public ArrayList<Manga> search(String term) throws Exception {
    ArrayList<Manga> mangas = new ArrayList<>();
    String data = getNavigatorAndFlushParameters().get(HOST + "/search.php?name=" + URLEncoder.encode(term, "UTF-8"));
    Pattern p = Pattern.compile(PATTERN_MANGA, Pattern.DOTALL);
    Matcher m = p.matcher(data);
    while (m.find()) {
        mangas.add(new Manga(getServerID(), m.group(2), "https:" + m.group(1), 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)

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