diff --git a/app/src/main/java/com/github/catvod/bean/jianpian/Data.java b/app/src/main/java/com/github/catvod/bean/jianpian/Data.java index e72dce7c..809504b5 100644 --- a/app/src/main/java/com/github/catvod/bean/jianpian/Data.java +++ b/app/src/main/java/com/github/catvod/bean/jianpian/Data.java @@ -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 directors; @SerializedName("btbo_downlist") - private List btboDownlist; + private List 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 getBtboDownlist() { + return btboDownlist == null ? Collections.emptyList() : btboDownlist; } public Vod vod() { return new Vod(getJumpId(), getTitle(), getThumbnail(), getMask()); } - public String getValues(List items, boolean link, String join) { + public String getValues(List items, boolean link) { StringBuilder sb = new StringBuilder(); - for (Value value : items) sb.append(value.getValue(link)).append(join); + for (Value value : items) sb.append(value.getValue(link)).append(" "); + return Utils.substring(sb.toString()); + } + + public String getPlayUrl() { + StringBuilder sb = new StringBuilder(); + 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"); } } } diff --git a/jar/custom_spider.jar b/jar/custom_spider.jar index e2b67323..eb67f491 100644 Binary files a/jar/custom_spider.jar and b/jar/custom_spider.jar differ diff --git a/jar/custom_spider.jar.md5 b/jar/custom_spider.jar.md5 index 4e406d69..b95fa66b 100644 --- a/jar/custom_spider.jar.md5 +++ b/jar/custom_spider.jar.md5 @@ -1 +1 @@ -6e09ca5f0d30c65076c316b3260deafd +0ab694ef35e6ea075b7a85287cd17931