From db9077a85c076e6c68d7c0a50e3a13d015b23476 Mon Sep 17 00:00:00 2001 From: nemunaire Date: Sun, 7 Jan 2018 22:21:13 +0100 Subject: [PATCH] admin/sync: add stat method to importer --- admin/sync/file.go | 1 + admin/sync/importer_cloud.go | 5 +++++ admin/sync/importer_localfs.go | 4 ++++ 3 files changed, 10 insertions(+) diff --git a/admin/sync/file.go b/admin/sync/file.go index c9e9c6d4..c9992862 100644 --- a/admin/sync/file.go +++ b/admin/sync/file.go @@ -23,6 +23,7 @@ type Importer interface { importFile(URI string, next func(string, string) (interface{}, error)) (interface{}, error) getFile(filename string, writer *bufio.Writer) error listDir(filename string) ([]string, error) + stat(filename string) (os.FileInfo, error) } var GlobalImporter Importer diff --git a/admin/sync/importer_cloud.go b/admin/sync/importer_cloud.go index f836927c..07b8406f 100644 --- a/admin/sync/importer_cloud.go +++ b/admin/sync/importer_cloud.go @@ -5,6 +5,7 @@ import ( "errors" "net/http" "net/url" + "os" "path" "strings" @@ -95,3 +96,7 @@ func (i CloudImporter) listDir(filename string) ([]string, error) { return res, nil } } + +func (i CloudImporter) stat(filename string) (os.FileInfo, error) { + return gowebdav.NewClient(i.baseDAV.String(), i.username, i.password).Stat(strings.Replace(url.PathEscape(filename), "%2F", "/", -1)) +} diff --git a/admin/sync/importer_localfs.go b/admin/sync/importer_localfs.go index 4317ec72..fe8c6530 100644 --- a/admin/sync/importer_localfs.go +++ b/admin/sync/importer_localfs.go @@ -70,3 +70,7 @@ func (i LocalImporter) listDir(filename string) ([]string, error) { return res, nil } } + +func (i LocalImporter) stat(filename string) (os.FileInfo, error) { + return os.Stat(path.Join(i.Base, filename)) +}