This commit is contained in:
Xwite
2023-03-06 18:29:36 +08:00
parent ffb3ecea2e
commit fbe0a15d43
2 changed files with 7 additions and 11 deletions
@@ -34,15 +34,14 @@ import java.time.format.DateTimeFormatter
@Suppress("unused", "MemberVisibilityCanBePrivate")
open class WebDav(
val path: String,
val authorization: Authorization,
private val serverID: Long? = null
val authorization: Authorization
) {
companion object {
fun fromPath(path: String): WebDav {
val id = AnalyzeUrl(path).serverID
val authorization = Authorization(id)
return WebDav(path, authorization, id)
return WebDav(path, authorization)
}
@SuppressLint("DateTimeFormatter")
@@ -402,10 +401,4 @@ open class WebDav(
}
}
override fun toString(): String {
val url = httpUrl ?: return ""
serverID ?: return url
return "$url,{serverID:$serverID}"
}
}
@@ -9,6 +9,7 @@ import io.legado.app.help.config.AppConfig
import io.legado.app.lib.webdav.Authorization
import io.legado.app.lib.webdav.WebDav
import io.legado.app.lib.webdav.WebDavFile
import io.legado.app.model.analyzeRule.CustomUrl
import io.legado.app.model.localBook.LocalBook
import io.legado.app.utils.NetworkUtils
import io.legado.app.utils.isContentScheme
@@ -67,7 +68,7 @@ class RemoteBookWebDav(
if (!NetworkUtils.isAvailable()) throw NoStackTraceException("网络不可用")
val localBookUri = Uri.parse(book.bookUrl)
val putUrl = "$rootBookUrl${File.separator}${book.originName}"
val webDav = WebDav(putUrl, authorization, serverID)
val webDav = WebDav(putUrl, authorization)
if (localBookUri.isContentScheme()) {
webDav.upload(
byteArray = localBookUri.readBytes(appCtx),
@@ -76,7 +77,9 @@ class RemoteBookWebDav(
} else {
webDav.upload(localBookUri.path!!)
}
book.origin = BookType.webDavTag + webDav.toString()
book.origin = BookType.webDavTag + CustomUrl(putUrl)
.putAttribute("serverID", serverID)
.toString()
book.save()
}