|
|
|
|
@ -6,6 +6,7 @@ import com.github.catvod.bean.Vod; |
|
|
|
|
import com.github.catvod.utils.Utils; |
|
|
|
|
import com.google.gson.annotations.SerializedName; |
|
|
|
|
|
|
|
|
|
import java.util.Collections; |
|
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
|
|
public class Data { |
|
|
|
|
@ -33,7 +34,7 @@ public class Data { |
|
|
|
|
@SerializedName("directors") |
|
|
|
|
private List<Value> directors; |
|
|
|
|
@SerializedName("btbo_downlist") |
|
|
|
|
private List<Value> btboDownlist; |
|
|
|
|
private List<BtboDown> btboDownlist; |
|
|
|
|
|
|
|
|
|
public String getJumpId() { |
|
|
|
|
return TextUtils.isEmpty(jumpId) ? "" : jumpId; |
|
|
|
|
@ -56,60 +57,74 @@ public class Data { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public String getPlaylist() { |
|
|
|
|
return playlist == null ? "" : playlist.getValue(); |
|
|
|
|
return playlist == null ? "" : playlist.getTitle(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public String getYear() { |
|
|
|
|
return year == null ? "" : year.getValue(); |
|
|
|
|
return year == null ? "" : year.getTitle(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public String getArea() { |
|
|
|
|
return area == null ? "" : area.getValue(); |
|
|
|
|
return area == null ? "" : area.getTitle(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public String getTypes() { |
|
|
|
|
return types == null ? "" : getValues(types, false, " "); |
|
|
|
|
return types == null ? "" : getValues(types, false); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public String getActors() { |
|
|
|
|
return actors == null ? "" : getValues(actors, true, " "); |
|
|
|
|
return actors == null ? "" : getValues(actors, true); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public String getDirectors() { |
|
|
|
|
return directors == null ? "" : getValues(directors, true, " "); |
|
|
|
|
return directors == null ? "" : getValues(directors, true); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public String getPlayUrl() { |
|
|
|
|
return btboDownlist == null ? "" : getValues(btboDownlist, false, "#"); |
|
|
|
|
public List<BtboDown> getBtboDownlist() { |
|
|
|
|
return btboDownlist == null ? Collections.emptyList() : btboDownlist; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public Vod vod() { |
|
|
|
|
return new Vod(getJumpId(), getTitle(), getThumbnail(), getMask()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public String getValues(List<Value> items, boolean link, String join) { |
|
|
|
|
public String getValues(List<Value> items, boolean link) { |
|
|
|
|
StringBuilder sb = new StringBuilder(); |
|
|
|
|
for (Value value : items) sb.append(value.getValue(link)).append(" "); |
|
|
|
|
return Utils.substring(sb.toString()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public String getPlayUrl() { |
|
|
|
|
StringBuilder sb = new StringBuilder(); |
|
|
|
|
for (Value value : items) sb.append(value.getValue(link)).append(join); |
|
|
|
|
for (BtboDown value : getBtboDownlist()) sb.append(value.getVal()).append("#"); |
|
|
|
|
return Utils.substring(sb.toString()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static class Value { |
|
|
|
|
|
|
|
|
|
@SerializedName(value = "val", alternate = {"name", "title"}) |
|
|
|
|
private String value; |
|
|
|
|
@SerializedName(value = "title", alternate = "name") |
|
|
|
|
private String title; |
|
|
|
|
|
|
|
|
|
private String getValue() { |
|
|
|
|
if (TextUtils.isEmpty(value)) return ""; |
|
|
|
|
if (value.startsWith("ftp://")) return "tvbox-xg:" + value; |
|
|
|
|
return value; |
|
|
|
|
private String getTitle() { |
|
|
|
|
return TextUtils.isEmpty(title) ? "" : title; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private String getLink() { |
|
|
|
|
return String.format("[a=cr:{\"id\":\"%s\",\"name\":\"%s\"}/]%s[/a]", getValue() + "/{pg}", getValue(), getValue()); |
|
|
|
|
return String.format("[a=cr:{\"id\":\"%s\",\"name\":\"%s\"}/]%s[/a]", getTitle() + "/{pg}", getTitle(), getTitle()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public String getValue(boolean link) { |
|
|
|
|
return link ? getLink() : getValue(); |
|
|
|
|
return link ? getLink() : getTitle(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static class BtboDown { |
|
|
|
|
|
|
|
|
|
@SerializedName("val") |
|
|
|
|
private String val; |
|
|
|
|
|
|
|
|
|
public String getVal() { |
|
|
|
|
return TextUtils.isEmpty(val) ? "" : val.replaceAll("ftp", "tvbox-xg:ftp"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|