Search in sources :

Example 51 with Manga

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

the class MyMangaIo method getMangasFromSource.

private ArrayList<Manga> getMangasFromSource(String source) throws Exception {
    ArrayList<Manga> mangas = new ArrayList<>();
    Pattern p = Pattern.compile("<a href=\"(mangas/[^\"]+?)\">(.+?)<", Pattern.DOTALL);
    Matcher m = p.matcher(source);
    while (m.find()) {
        Manga manga = new Manga(getServerID(), Util.getInstance().fromHtml(m.group(2)).toString(), HOST + m.group(1), false);
        manga.setImages(HOST + "/images/mangas_thumb/" + getFirstMatchDefault("mangas/(.+?)/", manga.getPath(), "") + ".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 52 with Manga

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

the class BatoTo method getMangasFromSource.

private ArrayList<Manga> getMangasFromSource(String source) {
    ArrayList<Manga> mangas = new ArrayList<>();
    Pattern p = Pattern.compile("<a href=\"([^\"]+)\">[^>]+(book_open|book).+?>(.+?)<", Pattern.DOTALL);
    Matcher m = p.matcher(source);
    while (m.find()) {
        mangas.add(new Manga(getServerID(), Util.getInstance().fromHtml(m.group(3)).toString(), m.group(1), m.group(2).length() == 4));
    }
    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 53 with Manga

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

the class DesuMe method search.

@Override
public ArrayList<Manga> search(String term) throws Exception {
    ArrayList<Manga> mangas = new ArrayList<>();
    Navigator nav = getNavigatorAndFlushParameters();
    nav.addHeader("x-requested-with", "XMLHttpRequest");
    nav.addPost("q", term);
    nav.addPost("_xfResponseType", "json");
    String data = nav.post(HOST + "/manga/find");
    try {
        JSONObject result = new JSONObject(data).getJSONObject("results");
        Iterator<String> it = result.keys();
        while (it.hasNext()) {
            String title = it.next();
            String id = getFirstMatch("/(\\d+)\\.jpg", result.getJSONObject(title).getString("avatar"), context.getString(R.string.server_failed_locate_manga_url));
            String web = "/manga/" + title.replace(" ", "-").toLowerCase() + "." + id + "/";
            mangas.add(new Manga(getServerID(), title, web, false));
        }
    } catch (JSONException e) {
    // do nothing
    }
    return mangas;
}
Also used : JSONObject(org.json.JSONObject) Navigator(ar.rulosoft.navegadores.Navigator) ArrayList(java.util.ArrayList) JSONException(org.json.JSONException) Manga(ar.rulosoft.mimanganu.componentes.Manga)

Example 54 with Manga

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

the class DesuMe method getMangasFiltered.

@Override
public ArrayList<Manga> getMangasFiltered(int[][] filters, int pageNumber) throws Exception {
    StringBuilder sb = new StringBuilder();
    sb.append(HOST + "/manga/?");
    if (filters[0].length > 0) {
        sb.append("kinds=");
        for (int i = 0; i < filters[0].length; i++) {
            sb.append(valType[filters[0][i]]).append(",");
        }
        sb.setLength(sb.length() - 1);
    }
    if (filters[1].length > 0) {
        sb.append("&genres=");
        for (int i = 0; i < filters[1].length; i++) {
            sb.append(valGenre[filters[1][i]]).append(",");
        }
        sb.setLength(sb.length() - 1);
    }
    if (filters[2][0] != 0) {
        sb.append("&order_by=").append(valOrder[filters[2][0]]);
    }
    if (pageNumber > 1) {
        sb.append("&page=").append(pageNumber);
    }
    String source = getNavigatorAndFlushParameters().get(sb.toString());
    Pattern pattern = Pattern.compile("memberListItem\">\\s*<a href=\"(manga/[^\"]+).+?url\\('([^']+).+?title=[^>]+>([^<]+)", Pattern.DOTALL);
    Matcher matcher = pattern.matcher(source);
    ArrayList<Manga> mangas = new ArrayList<>();
    while (matcher.find()) {
        Manga m = new Manga(getServerID(), matcher.group(3), "/" + matcher.group(1), false);
        m.setImages(HOST + matcher.group(2));
        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 55 with Manga

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

the class HeavenManga method getMangasFromSource.

private ArrayList<Manga> getMangasFromSource(String source) {
    ArrayList<Manga> mangas = new ArrayList<>();
    Pattern p = Pattern.compile("<article class=\"rel\"><a href=\"(http://heavenmanga.com/.+?)\"><header>(.+?)<.+?src=\"(.+?)\"", Pattern.DOTALL);
    Matcher matcher = p.matcher(source);
    while (matcher.find()) {
        Manga manga = new Manga(HEAVENMANGACOM, matcher.group(2), matcher.group(1), false);
        manga.setImages(matcher.group(3));
        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