From fded4dbea2dab1a2398eafca311a5698faf2fbb7 Mon Sep 17 00:00:00 2001 From: Nick Craig-Wood Date: Wed, 26 Apr 2017 18:16:59 +0100 Subject: [PATCH] yandex: correct error return for listing empty directory --- yandex/yandex.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/yandex/yandex.go b/yandex/yandex.go index 861749125..099bd1403 100644 --- a/yandex/yandex.go +++ b/yandex/yandex.go @@ -187,6 +187,10 @@ func (f *Fs) listDir(dir string, fn listFn) (err error) { for { ResourceInfoResponse, err := f.yd.NewResourceInfoRequest(root, opt).Exec() if err != nil { + yErr, ok := err.(yandex.DiskClientError) + if ok && yErr.Code == "DiskNotFoundError" { + return fs.ErrorDirNotFound + } return err } itemsCount = uint32(len(ResourceInfoResponse.Embedded.Items)) @@ -246,6 +250,10 @@ func (f *Fs) list(dir string, fn listFn) error { //send request info, err := f.yd.NewFlatFileListRequest(opt).Exec() if err != nil { + yErr, ok := err.(yandex.DiskClientError) + if ok && yErr.Code == "DiskNotFoundError" { + return fs.ErrorDirNotFound + } return err } itemsCount = uint32(len(info.Items))