优化
This commit is contained in:
@@ -34,15 +34,14 @@ import java.time.format.DateTimeFormatter
|
|||||||
@Suppress("unused", "MemberVisibilityCanBePrivate")
|
@Suppress("unused", "MemberVisibilityCanBePrivate")
|
||||||
open class WebDav(
|
open class WebDav(
|
||||||
val path: String,
|
val path: String,
|
||||||
val authorization: Authorization,
|
val authorization: Authorization
|
||||||
private val serverID: Long? = null
|
|
||||||
) {
|
) {
|
||||||
companion object {
|
companion object {
|
||||||
|
|
||||||
fun fromPath(path: String): WebDav {
|
fun fromPath(path: String): WebDav {
|
||||||
val id = AnalyzeUrl(path).serverID
|
val id = AnalyzeUrl(path).serverID
|
||||||
val authorization = Authorization(id)
|
val authorization = Authorization(id)
|
||||||
return WebDav(path, authorization, id)
|
return WebDav(path, authorization)
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressLint("DateTimeFormatter")
|
@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.Authorization
|
||||||
import io.legado.app.lib.webdav.WebDav
|
import io.legado.app.lib.webdav.WebDav
|
||||||
import io.legado.app.lib.webdav.WebDavFile
|
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.model.localBook.LocalBook
|
||||||
import io.legado.app.utils.NetworkUtils
|
import io.legado.app.utils.NetworkUtils
|
||||||
import io.legado.app.utils.isContentScheme
|
import io.legado.app.utils.isContentScheme
|
||||||
@@ -67,7 +68,7 @@ class RemoteBookWebDav(
|
|||||||
if (!NetworkUtils.isAvailable()) throw NoStackTraceException("网络不可用")
|
if (!NetworkUtils.isAvailable()) throw NoStackTraceException("网络不可用")
|
||||||
val localBookUri = Uri.parse(book.bookUrl)
|
val localBookUri = Uri.parse(book.bookUrl)
|
||||||
val putUrl = "$rootBookUrl${File.separator}${book.originName}"
|
val putUrl = "$rootBookUrl${File.separator}${book.originName}"
|
||||||
val webDav = WebDav(putUrl, authorization, serverID)
|
val webDav = WebDav(putUrl, authorization)
|
||||||
if (localBookUri.isContentScheme()) {
|
if (localBookUri.isContentScheme()) {
|
||||||
webDav.upload(
|
webDav.upload(
|
||||||
byteArray = localBookUri.readBytes(appCtx),
|
byteArray = localBookUri.readBytes(appCtx),
|
||||||
@@ -76,7 +77,9 @@ class RemoteBookWebDav(
|
|||||||
} else {
|
} else {
|
||||||
webDav.upload(localBookUri.path!!)
|
webDav.upload(localBookUri.path!!)
|
||||||
}
|
}
|
||||||
book.origin = BookType.webDavTag + webDav.toString()
|
book.origin = BookType.webDavTag + CustomUrl(putUrl)
|
||||||
|
.putAttribute("serverID", serverID)
|
||||||
|
.toString()
|
||||||
book.save()
|
book.save()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user