webdav: report full and consistent usage with about
— allow either Used or Available to be ==0 (remote full or empty) — compute Total if both values are received
This commit is contained in:
parent
747edf42c1
commit
5ee24f804f
1 changed files with 8 additions and 7 deletions
|
@ -989,13 +989,14 @@ func (f *Fs) About(ctx context.Context) (*fs.Usage, error) {
|
||||||
return nil, errors.Wrap(err, "about call failed")
|
return nil, errors.Wrap(err, "about call failed")
|
||||||
}
|
}
|
||||||
usage := &fs.Usage{}
|
usage := &fs.Usage{}
|
||||||
if q.Available != 0 || q.Used != 0 {
|
|
||||||
if q.Available >= 0 && q.Used >= 0 {
|
|
||||||
usage.Total = fs.NewUsageValue(q.Available + q.Used)
|
|
||||||
}
|
|
||||||
if q.Used >= 0 {
|
if q.Used >= 0 {
|
||||||
usage.Used = fs.NewUsageValue(q.Used)
|
usage.Used = fs.NewUsageValue(q.Used)
|
||||||
}
|
}
|
||||||
|
if q.Available >= 0 {
|
||||||
|
usage.Free = fs.NewUsageValue(q.Available)
|
||||||
|
}
|
||||||
|
if q.Available >= 0 && q.Used >= 0 {
|
||||||
|
usage.Total = fs.NewUsageValue(q.Available + q.Used)
|
||||||
}
|
}
|
||||||
return usage, nil
|
return usage, nil
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue