package ar.rulosoft.mimanganu.servers; import android.content.Context; import android.content.SharedPreferences; import android.support.v7.preference.PreferenceManager; import java.util.ArrayList; import java.util.regex.Matcher; import java.util.regex.Pattern; import ar.rulosoft.mimanganu.R; import ar.rulosoft.mimanganu.componentes.Chapter; import ar.rulosoft.mimanganu.componentes.Manga; /** * Created by Raul on 03/02/2017. */ public class BatoToEs extends BatoTo { BatoToEs(Context context) { super(context); this.setFlag(R.drawable.flag_es); this.setIcon(R.drawable.batoto); this.setServerName("BatoTo(ES)"); setServerID(ServerBase.BATOTOES); } @Override public void loadMangaInformation(Manga manga, boolean forceReload) throws Exception { if (manga.getChapters().size() == 0 || forceReload) { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); String user = prefs.getString("username_" + getServerName(), ""); String password = prefs.getString("dwp_" + getServerName(), ""); String data = getNavigatorAndFlushParameters().get(manga.getPath(), new BatotoLoginInterceptor(user, password)); manga.setSynopsis(getFirstMatchDefault("Description:</td>\\s+<td>(.*?)</td>", data, defaultSynopsis)); manga.setImages(getFirstMatchDefault("(http://img\\.bato\\.to/forums/uploads.+?)\"", data, "")); manga.setAuthor(getFirstMatch("search\\?artist_name=.+?>([^<]+)", data, "n/a")); manga.setGenre(getFirstMatch("Genres:</td>\\s+<td>([\\s\\S]+?)<img[^>]+?alt=.edit", data, "").replaceAll("<.*?>", "").replaceAll(",[\\s]*", ",").trim()); manga.setFinished(!getFirstMatchDefault("Status:<\\/td>\\s+<td>([^<]+)", data, "").contains("Ongoing")); ArrayList<Chapter> chapters = new ArrayList<>(); Pattern pattern = Pattern.compile("<a href=\"([^\"]+)\" title=\"[^\"]+\">.+?>([^<]+).+?title=\"(.+?)\".+?<a[^>]+>([^<]+)"); data = getFirstMatchDefault("ipb_table chapters_list\"([\\s\\S]+?)</table", data, ""); Matcher matcher = pattern.matcher(data); while (matcher.find()) { if (matcher.group(3).contains("Spanish")) chapters.add(0, new Chapter("(" + matcher.group(3) + ") " + matcher.group(2) + " [" + matcher.group(4) + "]", matcher.group(1))); } manga.setChapters(chapters); } } }