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;
}
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;
}
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;
}
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;
}
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;
}
Aggregations