diff --git a/service/google/drive_service.go b/service/google/drive_service.go index 17c6f94..d659fab 100644 --- a/service/google/drive_service.go +++ b/service/google/drive_service.go @@ -12,7 +12,6 @@ import ( "net/http" "os" "sort" - "sync" "time" ) @@ -135,38 +134,24 @@ func (driveService *Service) DownloadTranscripts(directory *drive.File, mimeType logger.Error(fmt.Sprintf("Error searching for files in directory %v: %v", directory.Name, err)) return "", err } - var driveFileDownloadWaitGroup sync.WaitGroup - errorsFound := false for _, driveFile := range fileList.Files { - driveFile := driveFile - driveFileDownloadWaitGroup.Add(1) - go func() { - defer driveFileDownloadWaitGroup.Done() - exportResponse, err := driveService.DownloadFile(driveFile, mimeType) - if err != nil { - logger.Error(fmt.Sprintf("Error downloading file %v: %v", driveFile.Name, err)) - errorsFound = true - return - } - err = util.WriteToFile(downloadDirectory, driveFile.Name+util.GetFileExtensionFromMimeType(mimeType), - exportResponse.Body) - if err != nil { - logger.Error(fmt.Sprintf("Error writing file %v to directory %v: %v", driveFile.Name, - downloadDirectory, zap.Error(err))) - errorsFound = true - return - } - err = exportResponse.Body.Close() - if err != nil { - logger.Error(fmt.Sprintf("Error closing response body: %v", err)) - errorsFound = true - return - } - }() - } - driveFileDownloadWaitGroup.Wait() - if errorsFound { - return "", errors.New("error occurred while downloading files") + exportResponse, err := driveService.DownloadFile(driveFile, mimeType) + if err != nil { + logger.Error(fmt.Sprintf("Error downloading file %v: %v", driveFile.Name, err)) + return "", err + } + err = util.WriteToFile(downloadDirectory, driveFile.Name+util.GetFileExtensionFromMimeType(mimeType), + exportResponse.Body) + if err != nil { + logger.Error(fmt.Sprintf("Error writing file %v to directory %v: %v", driveFile.Name, downloadDirectory, + zap.Error(err))) + return "", err + } + err = exportResponse.Body.Close() + if err != nil { + logger.Error(fmt.Sprintf("Error closing response body: %v", err)) + return "", err + } } return downloadDirectory, nil } diff --git a/service/google/drive_service_test.go b/service/google/drive_service_test.go index 717f078..3cad9c9 100644 --- a/service/google/drive_service_test.go +++ b/service/google/drive_service_test.go @@ -346,7 +346,7 @@ func (suite *DriveServiceSuite) Test_DownloadTranscripts_ExportFileError() { driveActions.ExportFileMock.When(suite.driveActionTimeOut, inputFile.Id, util.ContentTypeTextHTML).Then(nil, errors.New("error exporting file")) driveService := NewDriveService(driveActions) directoryPath, err := driveService.DownloadTranscripts(inputFile, util.ContentTypeTextHTML) - suite.Assert().Equal(err.Error(), "error occurred while downloading files") + suite.Assert().Equal(err.Error(), "error exporting file") suite.Assert().Equal(directoryPath, "") }