Skip to content

Commit dd18401

Browse files
committed
WebDAV: Add "failed" state for files that cannot be synchronized photoprism#4827
Signed-off-by: Michael Mayer <michael@photoprism.app>
1 parent 6dce526 commit dd18401

File tree

3 files changed

+8
-3
lines changed

3 files changed

+8
-3
lines changed

internal/entity/file_sync.go

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ const (
88
FileSyncNew = "new"
99
FileSyncIgnore = "ignore"
1010
FileSyncExists = "exists"
11+
FileSyncFailed = "failed"
1112
FileSyncDownloaded = "downloaded"
1213
FileSyncUploaded = "uploaded"
1314
)

internal/workers/sync_download.go

+5-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ func (w *Sync) relatedDownloads(a entity.Service) (result Downloads, err error)
2929
result = make(Downloads)
3030
maxResults := 1000
3131

32-
// Get remote files from database
32+
// Get list of remote files from database.
3333
files, err := query.FileSyncs(a.ID, entity.FileSyncNew, maxResults)
3434

3535
if err != nil {
@@ -132,6 +132,10 @@ func (w *Sync) download(a entity.Service) (complete bool, err error) {
132132
if err = client.Download(file.RemoteName, localName, false); err != nil {
133133
file.Errors++
134134
file.Error = err.Error()
135+
136+
if file.Errors > a.RetryLimit {
137+
file.Status = entity.FileSyncFailed
138+
}
135139
} else {
136140
log.Infof("sync: downloaded %s from %s", file.RemoteName, clean.Log(a.AccName))
137141
file.Status = entity.FileSyncDownloaded

internal/workers/sync_refresh.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,10 @@ func (w *Sync) refresh(a entity.Service) (complete bool, err error) {
5757
f.RemoteDate = file.Date
5858
f.RemoteSize = file.Size
5959

60-
// Select supported types for download
60+
// Select supported types for download.
6161
content := media.FromName(file.Name)
6262
switch content {
63-
case media.Image, media.Sidecar:
63+
case media.Image, media.Sidecar, media.Vector, media.Document, media.Live, media.Animated:
6464
f.Status = entity.FileSyncNew
6565
case media.Raw, media.Video:
6666
if a.SyncRaw {

0 commit comments

Comments
 (0)