mirror of
https://github.com/rclone/rclone.git
synced 2025-01-09 15:58:28 +01:00
about: improved error message
This commit is contained in:
parent
a9f18f8093
commit
8697f0bd26
2
backend/cache/cache.go
vendored
2
backend/cache/cache.go
vendored
@ -1747,7 +1747,7 @@ func (f *Fs) CleanUp(ctx context.Context) error {
|
|||||||
func (f *Fs) About(ctx context.Context) (*fs.Usage, error) {
|
func (f *Fs) About(ctx context.Context) (*fs.Usage, error) {
|
||||||
do := f.Fs.Features().About
|
do := f.Fs.Features().About
|
||||||
if do == nil {
|
if do == nil {
|
||||||
return nil, errors.New("About not supported")
|
return nil, errors.New("not supported by underlying remote")
|
||||||
}
|
}
|
||||||
return do(ctx)
|
return do(ctx)
|
||||||
}
|
}
|
||||||
|
@ -1895,7 +1895,7 @@ func (f *Fs) DirMove(ctx context.Context, src fs.Fs, srcRemote, dstRemote string
|
|||||||
func (f *Fs) CleanUp(ctx context.Context) error {
|
func (f *Fs) CleanUp(ctx context.Context) error {
|
||||||
do := f.base.Features().CleanUp
|
do := f.base.Features().CleanUp
|
||||||
if do == nil {
|
if do == nil {
|
||||||
return errors.New("can't CleanUp")
|
return errors.New("not supported by underlying remote")
|
||||||
}
|
}
|
||||||
return do(ctx)
|
return do(ctx)
|
||||||
}
|
}
|
||||||
@ -1904,7 +1904,7 @@ func (f *Fs) CleanUp(ctx context.Context) error {
|
|||||||
func (f *Fs) About(ctx context.Context) (*fs.Usage, error) {
|
func (f *Fs) About(ctx context.Context) (*fs.Usage, error) {
|
||||||
do := f.base.Features().About
|
do := f.base.Features().About
|
||||||
if do == nil {
|
if do == nil {
|
||||||
return nil, errors.New("About not supported")
|
return nil, errors.New("not supported by underlying remote")
|
||||||
}
|
}
|
||||||
return do(ctx)
|
return do(ctx)
|
||||||
}
|
}
|
||||||
|
@ -906,7 +906,7 @@ func (f *Fs) DirMove(ctx context.Context, src fs.Fs, srcRemote, dstRemote string
|
|||||||
func (f *Fs) CleanUp(ctx context.Context) error {
|
func (f *Fs) CleanUp(ctx context.Context) error {
|
||||||
do := f.Fs.Features().CleanUp
|
do := f.Fs.Features().CleanUp
|
||||||
if do == nil {
|
if do == nil {
|
||||||
return errors.New("can't CleanUp: not supported by underlying remote")
|
return errors.New("not supported by underlying remote")
|
||||||
}
|
}
|
||||||
return do(ctx)
|
return do(ctx)
|
||||||
}
|
}
|
||||||
@ -915,7 +915,7 @@ func (f *Fs) CleanUp(ctx context.Context) error {
|
|||||||
func (f *Fs) About(ctx context.Context) (*fs.Usage, error) {
|
func (f *Fs) About(ctx context.Context) (*fs.Usage, error) {
|
||||||
do := f.Fs.Features().About
|
do := f.Fs.Features().About
|
||||||
if do == nil {
|
if do == nil {
|
||||||
return nil, errors.New("can't About: not supported by underlying remote")
|
return nil, errors.New("not supported by underlying remote")
|
||||||
}
|
}
|
||||||
return do(ctx)
|
return do(ctx)
|
||||||
}
|
}
|
||||||
|
@ -597,7 +597,7 @@ func (f *Fs) PutUnchecked(ctx context.Context, in io.Reader, src fs.ObjectInfo,
|
|||||||
func (f *Fs) CleanUp(ctx context.Context) error {
|
func (f *Fs) CleanUp(ctx context.Context) error {
|
||||||
do := f.Fs.Features().CleanUp
|
do := f.Fs.Features().CleanUp
|
||||||
if do == nil {
|
if do == nil {
|
||||||
return errors.New("can't CleanUp")
|
return errors.New("not supported by underlying remote")
|
||||||
}
|
}
|
||||||
return do(ctx)
|
return do(ctx)
|
||||||
}
|
}
|
||||||
@ -606,7 +606,7 @@ func (f *Fs) CleanUp(ctx context.Context) error {
|
|||||||
func (f *Fs) About(ctx context.Context) (*fs.Usage, error) {
|
func (f *Fs) About(ctx context.Context) (*fs.Usage, error) {
|
||||||
do := f.Fs.Features().About
|
do := f.Fs.Features().About
|
||||||
if do == nil {
|
if do == nil {
|
||||||
return nil, errors.New("About not supported")
|
return nil, errors.New("not supported by underlying remote")
|
||||||
}
|
}
|
||||||
return do(ctx)
|
return do(ctx)
|
||||||
}
|
}
|
||||||
|
@ -1269,7 +1269,7 @@ func (f *Fs) About(ctx context.Context) (usage *fs.Usage, err error) {
|
|||||||
return shouldRetry(ctx, err)
|
return shouldRetry(ctx, err)
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("about failed: %w", err)
|
return nil, err
|
||||||
}
|
}
|
||||||
var total uint64
|
var total uint64
|
||||||
if q.Allocation != nil {
|
if q.Allocation != nil {
|
||||||
|
@ -282,7 +282,7 @@ func (f *Fs) CleanUp(ctx context.Context) error {
|
|||||||
if do := f.Fs.Features().CleanUp; do != nil {
|
if do := f.Fs.Features().CleanUp; do != nil {
|
||||||
return do(ctx)
|
return do(ctx)
|
||||||
}
|
}
|
||||||
return errors.New("CleanUp not supported")
|
return errors.New("not supported by underlying remote")
|
||||||
}
|
}
|
||||||
|
|
||||||
// About gets quota information from the Fs
|
// About gets quota information from the Fs
|
||||||
@ -290,7 +290,7 @@ func (f *Fs) About(ctx context.Context) (*fs.Usage, error) {
|
|||||||
if do := f.Fs.Features().About; do != nil {
|
if do := f.Fs.Features().About; do != nil {
|
||||||
return do(ctx)
|
return do(ctx)
|
||||||
}
|
}
|
||||||
return nil, errors.New("About not supported")
|
return nil, errors.New("not supported by underlying remote")
|
||||||
}
|
}
|
||||||
|
|
||||||
// ChangeNotify calls the passed function with a path that has had changes.
|
// ChangeNotify calls the passed function with a path that has had changes.
|
||||||
|
@ -1502,7 +1502,7 @@ func (f *Fs) About(ctx context.Context) (usage *fs.Usage, err error) {
|
|||||||
return shouldRetry(ctx, resp, err)
|
return shouldRetry(ctx, resp, err)
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("about failed: %w", err)
|
return nil, err
|
||||||
}
|
}
|
||||||
q := drive.Quota
|
q := drive.Quota
|
||||||
// On (some?) Onedrive sharepoints these are all 0 so return unknown in that case
|
// On (some?) Onedrive sharepoints these are all 0 so return unknown in that case
|
||||||
|
@ -906,7 +906,7 @@ func (f *Fs) About(ctx context.Context) (usage *fs.Usage, err error) {
|
|||||||
return shouldRetry(ctx, resp, err)
|
return shouldRetry(ctx, resp, err)
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("about failed: %w", err)
|
return nil, err
|
||||||
}
|
}
|
||||||
usage = &fs.Usage{
|
usage = &fs.Usage{
|
||||||
Total: fs.NewUsageValue(q.Quota), // quota of bytes that can be used
|
Total: fs.NewUsageValue(q.Quota), // quota of bytes that can be used
|
||||||
|
@ -783,10 +783,10 @@ func (f *Fs) About(ctx context.Context) (usage *fs.Usage, err error) {
|
|||||||
return shouldRetry(ctx, resp, err)
|
return shouldRetry(ctx, resp, err)
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("CreateDir http: %w", err)
|
return nil, err
|
||||||
}
|
}
|
||||||
if err = info.AsErr(); err != nil {
|
if err = info.AsErr(); err != nil {
|
||||||
return nil, fmt.Errorf("CreateDir: %w", err)
|
return nil, err
|
||||||
}
|
}
|
||||||
usage = &fs.Usage{
|
usage = &fs.Usage{
|
||||||
Used: fs.NewUsageValue(int64(info.SpaceUsed)),
|
Used: fs.NewUsageValue(int64(info.SpaceUsed)),
|
||||||
|
@ -647,7 +647,7 @@ func (f *Fs) About(ctx context.Context) (usage *fs.Usage, err error) {
|
|||||||
return shouldRetry(ctx, err)
|
return shouldRetry(ctx, err)
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("about failed: %w", err)
|
return nil, err
|
||||||
}
|
}
|
||||||
return &fs.Usage{
|
return &fs.Usage{
|
||||||
Total: fs.NewUsageValue(ai.Disk.Size), // quota of bytes that can be used
|
Total: fs.NewUsageValue(ai.Disk.Size), // quota of bytes that can be used
|
||||||
|
@ -1220,7 +1220,7 @@ func (f *Fs) About(ctx context.Context) (*fs.Usage, error) {
|
|||||||
}
|
}
|
||||||
stdout, err := f.run(ctx, "df -k "+escapedPath)
|
stdout, err := f.run(ctx, "df -k "+escapedPath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("your remote may not support About: %w", err)
|
return nil, fmt.Errorf("your remote may not have the required df utility: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
usageTotal, usageUsed, usageAvail := parseUsage(stdout)
|
usageTotal, usageUsed, usageAvail := parseUsage(stdout)
|
||||||
|
@ -1161,7 +1161,7 @@ func (f *Fs) About(ctx context.Context) (*fs.Usage, error) {
|
|||||||
return f.shouldRetry(ctx, resp, err)
|
return f.shouldRetry(ctx, resp, err)
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("about call failed: %w", err)
|
return nil, err
|
||||||
}
|
}
|
||||||
usage := &fs.Usage{}
|
usage := &fs.Usage{}
|
||||||
if i, err := strconv.ParseInt(q.Used, 10, 64); err == nil && i >= 0 {
|
if i, err := strconv.ParseInt(q.Used, 10, 64); err == nil && i >= 0 {
|
||||||
|
@ -102,7 +102,7 @@ see complete list in [documentation](https://rclone.org/overview/#optional-featu
|
|||||||
}
|
}
|
||||||
u, err := doAbout(context.Background())
|
u, err := doAbout(context.Background())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("About call failed: %w", err)
|
return fmt.Errorf("about call failed: %w", err)
|
||||||
}
|
}
|
||||||
if u == nil {
|
if u == nil {
|
||||||
return errors.New("nil usage returned")
|
return errors.New("nil usage returned")
|
||||||
|
Loading…
Reference in New Issue
Block a user