aboutsummaryrefslogtreecommitdiffstats
path: root/drive/list.go
diff options
context:
space:
mode:
Diffstat (limited to 'drive/list.go')
-rw-r--r--drive/list.go15
1 files changed, 14 insertions, 1 deletions
diff --git a/drive/list.go b/drive/list.go
index e636585..73fdea5 100644
--- a/drive/list.go
+++ b/drive/list.go
@@ -17,12 +17,13 @@ type ListFilesArgs struct {
SortOrder string
SkipHeader bool
SizeInBytes bool
+ AbsPath bool
}
func (self *Drive) List(args ListFilesArgs) (err error) {
listArgs := listAllFilesArgs{
query: args.Query,
- fields: []googleapi.Field{"nextPageToken", "files(id,name,md5Checksum,mimeType,size,createdTime)"},
+ fields: []googleapi.Field{"nextPageToken", "files(id,name,md5Checksum,mimeType,size,createdTime,parents)"},
sortOrder: args.SortOrder,
maxFiles: args.MaxFiles,
}
@@ -31,6 +32,18 @@ func (self *Drive) List(args ListFilesArgs) (err error) {
return fmt.Errorf("Failed to list files: %s", err)
}
+ pathfinder := self.newPathfinder()
+
+ if args.AbsPath {
+ // Replace name with absolute path
+ for _, f := range files {
+ f.Name, err = pathfinder.absPath(f)
+ if err != nil {
+ return err
+ }
+ }
+ }
+
PrintFileList(PrintFileListArgs{
Out: args.Out,
Files: files,