package com.ov3rk1ll.kinocast.api;
import android.util.SparseArray;
import com.ov3rk1ll.kinocast.R;
import com.ov3rk1ll.kinocast.api.mirror.Host;
import com.ov3rk1ll.kinocast.data.ViewModel;
import com.ov3rk1ll.kinocast.ui.DetailActivity;
import com.ov3rk1ll.kinocast.utils.Utils;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class Movie4kParser extends Parser{
public static final int PARSER_ID = 1;
public static final String URL_BASE = "http://www.movie4k.tv/";
private static final SparseArray<Integer> languageResMap = new SparseArray<Integer>();
private static final SparseArray<String> languageKeyMap = new SparseArray<String>();
static {
languageResMap.put(1, R.drawable.lang_de); languageKeyMap.put(1, "de");
languageResMap.put(2, R.drawable.lang_en); languageKeyMap.put(2, "de");
languageResMap.put(4, R.drawable.lang_zh); languageKeyMap.put(4, "zh");
languageResMap.put(5, R.drawable.lang_es); languageKeyMap.put(5, "es");
languageResMap.put(6, R.drawable.lang_fr); languageKeyMap.put(6, "fr");
languageResMap.put(7, R.drawable.lang_tr); languageKeyMap.put(7, "tr");
languageResMap.put(8, R.drawable.lang_jp); languageKeyMap.put(8, "jp");
languageResMap.put(9, R.drawable.lang_ar); languageKeyMap.put(9, "ar");
languageResMap.put(11, R.drawable.lang_it); languageKeyMap.put(11, "it");
languageResMap.put(12, R.drawable.lang_hr); languageKeyMap.put(12, "hr");
languageResMap.put(13, R.drawable.lang_sr); languageKeyMap.put(13, "sr");
languageResMap.put(14, R.drawable.lang_bs); languageKeyMap.put(14, "bs");
languageResMap.put(15, R.drawable.lang_de_en); languageKeyMap.put(15, "en");
languageResMap.put(16, R.drawable.lang_nl); languageKeyMap.put(16, "nl");
languageResMap.put(17, R.drawable.lang_ko); languageKeyMap.put(17, "ko");
languageResMap.put(24, R.drawable.lang_el); languageKeyMap.put(24, "el");
languageResMap.put(25, R.drawable.lang_ru); languageKeyMap.put(25, "ru");
languageResMap.put(26, R.drawable.lang_hi); languageKeyMap.put(26, "hi");
}
public Movie4kParser(String url) {
super(url);
}
@Override
public String getParserName() {
return "Movie4k";
}
@Override
public int getParserId(){
return PARSER_ID;
}
private List<ViewModel> parseList(Document doc){
List<ViewModel> list = new ArrayList<ViewModel>();
Elements files = doc.select("div#maincontentnew");
for(Element file : files){
ViewModel model = new ViewModel();
Elements divs = file.select("div");
Element data = divs.get(2);
model.setSlug(data.select("h2 > a").attr("href"));
model.setTitle(data.select("h2 > a").text());
Element more = file.select("div.beschreibung").first();
}
//TODO
return list;
}
@Override
public List<ViewModel> parseList(String url){
try {
Document doc = Jsoup.connect(url)
.userAgent(Utils.USER_AGENT)
.timeout(10000)
.get();
return parseList(doc);
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
private ViewModel parseDetail(Document doc, ViewModel item){
// TODO
return item;
}
@Override
public ViewModel loadDetail(ViewModel item){
try {
Document doc = Jsoup.connect(URL_BASE + "Stream/" + item.getSlug() + ".html")
.userAgent(Utils.USER_AGENT)
.cookie("StreamHostMirrorMode", "fixed")
.cookie("StreamAutoHideMirrros", "Fixed")
.cookie("StreamShowFacebook", "N")
.cookie("StreamCommentLimit", "0")
.cookie("StreamMirrorMode", "fixed")
.timeout(10000)
.get();
return parseDetail(doc, item);
} catch (IOException e) {
e.printStackTrace();
}
return item;
}
@Override
public ViewModel loadDetail(String url) {
//TODO
return null;
}
@Override
public List<Host> getHosterList(ViewModel item, int season, String episode){
//TODO
return null;
}
@Override
public String getMirrorLink(DetailActivity.QueryPlayTask queryTask, ViewModel item, int id, int mirror, int i, String url){
//TODO
return null;
}
@Override
public String getMirrorLink(DetailActivity.QueryPlayTask queryPlayTask, ViewModel item, int hoster, int mirror){
//TODO
return null;
}
@Override
public String[] getSearchSuggestions(String query){
//TODO
return null;
}
@Override
public String getPageLink(ViewModel item){
//TODO
return null;
}
@Override
public String getSearchPage(String query){
//TODO
return null;
}
@Override
public String getCineMovies(){
return URL_BASE + "index.php";
}
@Override
public String getPopularMovies(){
return URL_BASE + "Popular-Movies.html";
}
@Override
public String getLatestMovies(){
return URL_BASE + "Latest-Movies.html";
}
@Override
public String getPopularSeries(){
return URL_BASE + "Popular-Series.html";
}
@Override
public String getLatestSeries(){
return URL_BASE + "Latest-Series.html";
}
}