@@ -228,41 +228,41 @@ func (w *GDriveWatcher) enumerateFiles(prefix string, callback func(object *GDri
228228 w .initDriverClient ()
229229 }
230230
231- fileList := make (map [string ]* drive.File )
232-
233231 err := w .client .Files .List ().Fields ("nextPageToken, files(id, name, mimeType, modifiedTime, parents, size, md5Checksum, trashed)" ).Pages (context .Background (), func (files * drive.FileList ) error {
232+ fileList := make (map [string ]* drive.File )
233+
234+ // we need to map all the files with their id to construct the file tree
234235 for _ , f := range files .Files {
235236 fileList [f .Id ] = f
236237 }
237238
238- return nil
239- })
240- if err != nil {
241- return fmt .Errorf ("unable to retrieve files: %v" , err )
242- }
243-
244- for _ , file := range fileList {
245- if file .MimeType != "application/vnd.google-apps.folder" && ! file .Trashed {
246- for _ , name := range w .getFullPaths (file , fileList ) {
247- mt , e := time .Parse (time .RFC3339 , file .ModifiedTime )
248- if err != nil {
249- w .Errors <- e
250- continue
251- }
252- if strings .HasPrefix (name , prefix ) {
253- o := & GDriveObject {
254- ID : file .Id ,
255- Key : name ,
256- Size : file .Size ,
257- LastModified : mt ,
258- Hash : file .Md5Checksum ,
239+ for _ , file := range fileList {
240+ if file .MimeType != "application/vnd.google-apps.folder" && ! file .Trashed {
241+ for _ , name := range w .getFullPaths (file , fileList ) {
242+ mt , err := time .Parse (time .RFC3339 , file .ModifiedTime )
243+ if err != nil {
244+ w .Errors <- err
245+ continue
259246 }
260- if callback (o ) == false {
261- break
247+ if strings .HasPrefix (name , prefix ) {
248+ o := & GDriveObject {
249+ ID : file .Id ,
250+ Key : name ,
251+ Size : file .Size ,
252+ LastModified : mt ,
253+ Hash : file .Md5Checksum ,
254+ }
255+ if callback (o ) == false {
256+ break
257+ }
262258 }
263259 }
264260 }
265261 }
262+ return nil
263+ })
264+ if err != nil {
265+ return fmt .Errorf ("unable to retrieve files: %v" , err )
266266 }
267267 return nil
268268}
0 commit comments