diff --git a/app/src/main/java/com/github/catvod/spider/Push.java b/app/src/main/java/com/github/catvod/spider/Push.java index 29dc34fd..a02f0243 100644 --- a/app/src/main/java/com/github/catvod/spider/Push.java +++ b/app/src/main/java/com/github/catvod/spider/Push.java @@ -59,17 +59,23 @@ public class Push extends Ali { private void setHttpSub(String url, List subs) { try { - String ext = url.substring(url.lastIndexOf(".") + 1); + String ext = Utils.getExt(url); if (!ext.equals("mp4") && !ext.equals("mkv")) return; - String srt = Utils.removeExt(url).concat(".srt"); - String ass = Utils.removeExt(url).concat(".ass"); - if (OkHttp.newCall(srt).code() == 200) subs.add(Sub.create().name(Uri.parse(srt).getLastPathSegment()).ext("srt").url(srt)); - if (OkHttp.newCall(ass).code() == 200) subs.add(Sub.create().name(Uri.parse(ass).getLastPathSegment()).ext("ass").url(ass)); + List types = Arrays.asList(".srt", ".ass"); + for (String type : types) detectSub(Utils.removeExt(url).concat(type), subs); } catch (Exception e) { e.printStackTrace(); } } + private void detectSub(String url, List subs) throws Exception { + if (OkHttp.newCall(url).code() == 200) { + String ext = Utils.getExt(url); + String name = Uri.parse(url).getLastPathSegment(); + subs.add(Sub.create().name(name).ext(ext).url(url)); + } + } + private void setFileSub(String url, List subs) { File file = new File(url.replace("file://", "")); if (file.getParentFile() == null) return; diff --git a/jar/custom_spider.jar b/jar/custom_spider.jar index 0d4bf940..78c9ee43 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 e665f7d2..cc03c108 100644 --- a/jar/custom_spider.jar.md5 +++ b/jar/custom_spider.jar.md5 @@ -1 +1 @@ -1117ef714ea9053d670c6748723500f8 +d0ac4c362ded4782f74f467bfa3420be