diff --git a/docs/content/drive.md b/docs/content/drive.md index 772c53216..363735f56 100644 --- a/docs/content/drive.md +++ b/docs/content/drive.md @@ -178,6 +178,10 @@ sending them to the trash is required instead then use the Here are the command line options specific to this cloud storage system. +#### --drive-auth-owner-only #### + +Only consider files owned by the authenticated user. + #### --drive-chunk-size=SIZE #### Upload chunk size. Must a power of 2 >= 256k. Default value is 8 MB. @@ -187,23 +191,9 @@ is buffered in memory one per transfer. Reducing this will reduce memory usage but decrease performance. -#### --drive-full-list #### - -No longer does anything - kept for backwards compatibility. - -#### --drive-upload-cutoff=SIZE #### - -File size cutoff for switching to chunked upload. Default is 8 MB. - -#### --drive-use-trash #### - -Send files to the trash instead of deleting permanently. Defaults to -off, namely deleting files permanently. - #### --drive-auth-owner-only #### -Only consider files owned by the authenticated user. Requires -that --drive-full-list=true (default). +Only consider files owned by the authenticated user. #### --drive-formats #### @@ -252,10 +242,31 @@ Here are the possible extensions with their corresponding mime types. | xlsx | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | Microsoft Office Spreadsheet | | zip | application/zip | A ZIP file of HTML, Images CSS | +#### --drive-list-chunk int #### + +Size of listing chunk 100-1000. 0 to disable. (default 1000) + +#### --drive-shared-with-me #### + +Only show files that are shared with me + #### --drive-skip-gdocs #### Skip google documents in all listings. If given, gdocs practically become invisible to rclone. +#### --drive-trashed-only #### + +Only show files that are in the trash + +#### --drive-upload-cutoff=SIZE #### + +File size cutoff for switching to chunked upload. Default is 8 MB. + +#### --drive-use-trash #### + +Send files to the trash instead of deleting permanently. Defaults to +off, namely deleting files permanently. + ### Limitations ### Drive has quite a lot of rate limiting. This causes rclone to be diff --git a/drive/drive.go b/drive/drive.go index 5e32f2bed..015fddb3c 100644 --- a/drive/drive.go +++ b/drive/drive.go @@ -14,6 +14,7 @@ import ( "net/http" "path" "sort" + "strconv" "strings" "time" @@ -43,11 +44,11 @@ const ( // Globals var ( // Flags - driveFullList = fs.BoolP("drive-full-list", "", false, "Use a full listing for directory list. More data but usually quicker. (obsolete)") - driveAuthOwnerOnly = fs.BoolP("drive-auth-owner-only", "", false, "Only consider files owned by the authenticated user. Requires drive-full-list.") + driveAuthOwnerOnly = fs.BoolP("drive-auth-owner-only", "", false, "Only consider files owned by the authenticated user.") driveUseTrash = fs.BoolP("drive-use-trash", "", false, "Send files to the trash instead of deleting permanently.") driveSkipGdocs = fs.BoolP("drive-skip-gdocs", "", false, "Skip google documents in all listings.") driveSharedWithMe = fs.BoolP("drive-shared-with-me", "", false, "Only show files that are shared with me") + driveTrashedOnly = fs.BoolP("drive-trashed-only", "", false, "Only show files that are in the trash") driveExtensions = fs.StringP("drive-formats", "", defaultExtensions, "Comma separated list of preferred formats for downloading Google docs.") driveListChunk = pflag.Int64P("drive-list-chunk", "", 1000, "Size of listing chunk 100-1000. 0 to disable.") // chunkSize is the size of the chunks created during a resumable upload and should be a power of two. @@ -212,11 +213,10 @@ type listFn func(*drive.File) bool // If the user fn ever returns true then it early exits with found = true // // Search params: https://developers.google.com/drive/search-parameters -func (f *Fs) list(dirID string, title string, directoriesOnly bool, filesOnly bool, includeTrashed bool, fn listFn) (found bool, err error) { +func (f *Fs) list(dirID string, title string, directoriesOnly bool, filesOnly bool, includeAll bool, fn listFn) (found bool, err error) { var query []string - - if !includeTrashed { - query = append(query, "trashed=false") + if !includeAll { + query = append(query, "trashed="+strconv.FormatBool(*driveTrashedOnly)) } // Search with sharedWithMe will always return things listed in "Shared With Me" (without any parents) // We must not filter with parent when we try list "ROOT" with drive-shared-with-me