mirror of
https://github.com/photoprism/photoprism.git
synced 2025-12-12 00:34:13 +01:00
WebDAV: Add "failed" state for files that cannot be synchronized #4827
Signed-off-by: Michael Mayer <michael@photoprism.app>
This commit is contained in:
@@ -8,6 +8,7 @@ const (
|
||||
FileSyncNew = "new"
|
||||
FileSyncIgnore = "ignore"
|
||||
FileSyncExists = "exists"
|
||||
FileSyncFailed = "failed"
|
||||
FileSyncDownloaded = "downloaded"
|
||||
FileSyncUploaded = "uploaded"
|
||||
)
|
||||
|
||||
@@ -29,7 +29,7 @@ func (w *Sync) relatedDownloads(a entity.Service) (result Downloads, err error)
|
||||
result = make(Downloads)
|
||||
maxResults := 1000
|
||||
|
||||
// Get remote files from database
|
||||
// Get list of remote files from database.
|
||||
files, err := query.FileSyncs(a.ID, entity.FileSyncNew, maxResults)
|
||||
|
||||
if err != nil {
|
||||
@@ -132,6 +132,10 @@ func (w *Sync) download(a entity.Service) (complete bool, err error) {
|
||||
if err = client.Download(file.RemoteName, localName, false); err != nil {
|
||||
file.Errors++
|
||||
file.Error = err.Error()
|
||||
|
||||
if file.Errors > a.RetryLimit {
|
||||
file.Status = entity.FileSyncFailed
|
||||
}
|
||||
} else {
|
||||
log.Infof("sync: downloaded %s from %s", file.RemoteName, clean.Log(a.AccName))
|
||||
file.Status = entity.FileSyncDownloaded
|
||||
|
||||
@@ -57,10 +57,10 @@ func (w *Sync) refresh(a entity.Service) (complete bool, err error) {
|
||||
f.RemoteDate = file.Date
|
||||
f.RemoteSize = file.Size
|
||||
|
||||
// Select supported types for download
|
||||
// Select supported types for download.
|
||||
content := media.FromName(file.Name)
|
||||
switch content {
|
||||
case media.Image, media.Sidecar:
|
||||
case media.Image, media.Sidecar, media.Vector, media.Document, media.Live, media.Animated:
|
||||
f.Status = entity.FileSyncNew
|
||||
case media.Raw, media.Video:
|
||||
if a.SyncRaw {
|
||||
|
||||
Reference in New Issue
Block a user