yandex: implement cleanup (empty trash) - addresses #575

This commit is contained in:
ishuah91 2017-09-07 20:10:39 +03:00 committed by Nick Craig-Wood
parent fe536f3fa8
commit 49816e67bd
4 changed files with 25 additions and 1 deletions

View File

@ -132,7 +132,7 @@ operations more efficient.
| Openstack Swift | Yes † | Yes | No | No | No | Yes | No [#1614](https://github.com/ncw/rclone/issues/1614) |
| QingStor | No | Yes | No | No | No | Yes | No [#1614](https://github.com/ncw/rclone/issues/1614) |
| SFTP | No | No | Yes | Yes | No | No | Yes |
| Yandex Disk | Yes | No | No | No | No [#575](https://github.com/ncw/rclone/issues/575) | Yes | Yes |
| Yandex Disk | Yes | No | No | No | Yes | Yes | Yes |
| The local filesystem | Yes | No | Yes | Yes | No | No | Yes |
### Purge ###

View File

@ -121,3 +121,9 @@ metadata called `rclone_modified` in RFC3339 with nanoseconds format.
### MD5 checksums ###
MD5 checksums are natively supported by Yandex Disk.
### Emptying Trash ###
If you wish to empty your trash you can use the `rclone cleanup remote:`
command which will permanently delete all your trashed files. This command
does not take any path arguments.

13
yandex/api/empty_trash.go Normal file
View File

@ -0,0 +1,13 @@
package src
// EmptyTrash will permanently delete all trashed files/folders from Yandex Disk
func (c *Client) EmptyTrash() error {
fullURL := RootAddr
fullURL += "/v1/disk/trash/resources"
if err := c.PerformDelete(fullURL); err != nil {
return err
}
return nil
}

View File

@ -479,6 +479,11 @@ func (f *Fs) Purge() error {
return f.purgeCheck("", false)
}
// CleanUp permanently deletes all trashed files/folders
func (f *Fs) CleanUp() error {
return f.yd.EmptyTrash()
}
// Hashes returns the supported hash sets.
func (f *Fs) Hashes() fs.HashSet {
return fs.HashSet(fs.HashMD5)