Update webdav format

This commit is contained in:
FongMi 2025-04-08 22:47:26 +08:00
parent cc5dc7fdcf
commit 59985eced5
3 changed files with 20 additions and 27 deletions

View File

@ -8,17 +8,16 @@ import com.github.catvod.bean.Vod;
import com.github.catvod.utils.Util;
import com.google.gson.Gson;
import com.google.gson.annotations.SerializedName;
import com.google.gson.reflect.TypeToken;
import com.thegrizzlylabs.sardineandroid.DavResource;
import com.thegrizzlylabs.sardineandroid.Sardine;
import com.thegrizzlylabs.sardineandroid.impl.OkHttpSardine;
import java.util.ArrayList;
import java.lang.reflect.Type;
import java.util.List;
public class Drive {
@SerializedName("drives")
private List<Drive> drives;
@SerializedName("name")
private String name;
@SerializedName("server")
@ -32,18 +31,15 @@ public class Drive {
@SerializedName("webdav")
private Sardine webdav;
public static Drive objectFrom(String str) {
return new Gson().fromJson(str, Drive.class);
public static List<Drive> arrayFrom(String str) {
Type listType = new TypeToken<List<Drive>>() {}.getType();
return new Gson().fromJson(str, listType);
}
public Drive(String name) {
this.name = name;
}
public List<Drive> getDrives() {
return drives == null ? new ArrayList<>() : drives;
}
public String getName() {
return TextUtils.isEmpty(name) ? "" : name;
}

View File

@ -42,8 +42,7 @@ public class WebDAV extends Spider {
private void fetchRule() {
if (drives != null && !drives.isEmpty()) return;
if (extend.startsWith("http")) extend = OkHttp.string(extend);
Drive drive = Drive.objectFrom(extend);
drives = drive.getDrives();
drives = Drive.arrayFrom(extend);
}
private String getExt(DavResource item) {

View File

@ -1,16 +1,14 @@
{
"drives": [
{
"name": "七米藍",
"server": "https://al.chirmyram.com/dav",
"user": "alist",
"pass": "alist"
},
{
"name": "影視庫",
"server": "https://esir.eu.org/dav",
"user": "alist",
"pass": "alist"
}
]
}
[
{
"name": "七米藍",
"server": "https://al.chirmyram.com/dav",
"user": "alist",
"pass": "alist"
},
{
"name": "影視庫",
"server": "https://esir.eu.org/dav",
"user": "alist",
"pass": "alist"
}
]