use of ar.rulosoft.mimanganu.componentes.Manga in project MiMangaNu by raulhaag.
the class Taadd method getMangasFromSource.
private ArrayList<Manga> getMangasFromSource(String source) {
Pattern pattern = Pattern.compile("<a href=\"([^\"]+?)\"><img src=\"([^\"]+?)\" alt=\"([^\"]+?)\"", Pattern.DOTALL);
Matcher matcher = pattern.matcher(source);
ArrayList<Manga> mangas = new ArrayList<>();
while (matcher.find()) {
Manga manga = new Manga(getServerID(), matcher.group(3), matcher.group(1), false);
manga.setImages(matcher.group(2));
mangas.add(manga);
}
return mangas;
}
use of ar.rulosoft.mimanganu.componentes.Manga in project MiMangaNu by raulhaag.
the class TuMangaOnline method getMangasJsonArray.
private ArrayList<Manga> getMangasJsonArray(JSONArray jsonArray) {
ArrayList<Manga> result = new ArrayList<>();
for (int i = 0; i < jsonArray.length(); i++) {
try {
JSONObject object = jsonArray.getJSONObject(i);
Manga m = new Manga(getServerID(), object.getString("nombre"), object.getString("id"), "Finalizado".contains(object.getString("estado")));
m.setImages("http://img1.tumangaonline.com/" + object.getString("imageUrl").replaceAll("\\\\", ""));
result.add(m);
} catch (JSONException e) {
e.printStackTrace();
}
}
return result;
}
use of ar.rulosoft.mimanganu.componentes.Manga in project MiMangaNu by raulhaag.
the class TuMangaOnline method searchForNewChapters.
@Override
public int searchForNewChapters(int id, Context context, boolean fast) throws Exception {
// TODO FAST
int returnValue;
Manga mangaDb = Database.getFullManga(context, id);
Manga manga = new Manga(mangaDb.getServerId(), mangaDb.getTitle(), mangaDb.getPath(), false);
manga.setId(mangaDb.getId());
this.loadMangaInformation(manga, true);
loadChapters(manga, false, true);
manga.getChapters().removeAll(mangaDb.getChapters());
for (Chapter chapter : manga.getChapters()) {
chapter.setMangaID(mangaDb.getId());
chapter.setReadStatus(Chapter.NEW);
Database.addChapter(context, chapter, mangaDb.getId());
}
if (manga.getChapters().size() > 0) {
Database.updateMangaRead(context, mangaDb.getId());
Database.updateNewMangas(context, mangaDb, manga.getChapters().size());
}
returnValue = manga.getChapters().size();
if (returnValue > 0)
new CreateGroupByMangaNotificationsTask(manga.getChapters(), manga, context).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
boolean changes = false;
if (!mangaDb.getAuthor().equals(manga.getAuthor()) && manga.getAuthor().length() > 2) {
mangaDb.setAuthor(manga.getAuthor());
changes = true;
}
if (!mangaDb.getImages().equals(manga.getImages()) && manga.getImages().length() > 2) {
mangaDb.setImages(manga.getImages());
changes = true;
}
if (!mangaDb.getSynopsis().equals(manga.getSynopsis()) && manga.getSynopsis().length() > 2) {
mangaDb.setSynopsis(manga.getSynopsis());
changes = true;
}
if (!mangaDb.getGenre().equals(manga.getGenre()) && manga.getGenre().length() > 2) {
mangaDb.setGenre(manga.getGenre());
changes = true;
}
if (mangaDb.isFinished() != manga.isFinished()) {
mangaDb.setFinished(manga.isFinished());
changes = true;
}
if (changes)
Database.updateManga(context, mangaDb, false);
return returnValue;
}
use of ar.rulosoft.mimanganu.componentes.Manga in project MiMangaNu by raulhaag.
the class MangasRecAdapter method onBindViewHolder.
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
final Manga m = mangas.get(position);
MangasHolder mHolder = (MangasHolder) holder;
mHolder.serie.setText(m.getTitle());
((MangasHolder) holder).serie.setImageBitmap(null);
imageLoader.displayImg(m.getImages(), mHolder.serie);
mHolder.v.setTag(position);
mHolder.v.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (mangaClickListener != null) {
mangaClickListener.onMangaClick(m);
}
}
});
ServerBase server = ServerBase.getServer(m.getServerId(), context);
mHolder.server.setImageResource(server.getIcon());
if (m.getNews() > 0) {
mHolder.notif.setVisibility(ImageView.VISIBLE);
} else {
mHolder.notif.setVisibility(ImageView.INVISIBLE);
}
if (position == getItemCount() - 1 && lastItemListener != null)
lastItemListener.onRequestedLastItem();
}
use of ar.rulosoft.mimanganu.componentes.Manga in project MiMangaNu by raulhaag.
the class MangaKawaii method getMangasFiltered.
@Override
public ArrayList<Manga> getMangasFiltered(int[][] filters, int pageNumber) throws Exception {
// TODO implement filtering
String web = HOST + "/liste-mangas?page=" + pageNumber;
String source = getNavigatorAndFlushParameters().get(web);
Pattern pattern = Pattern.compile("<div class=\"media-left\">(.+?)</div>", Pattern.DOTALL);
Matcher matcher = pattern.matcher(source);
ArrayList<Manga> mangas = new ArrayList<>();
while (matcher.find()) {
Manga m = new Manga(getServerID(), getFirstMatch("alt='([^']+)", matcher.group(1), context.getString(R.string.server_failed_locate_manga_name)), getFirstMatch("href=\"([^\"]+)", matcher.group(1), context.getString(R.string.server_failed_locate_manga_url)), false);
m.setImages(getFirstMatchDefault("src='([^\']+)", matcher.group(1), ""));
mangas.add(m);
}
return mangas;
}
Aggregations