Drive#

drive.py - Contains the GDrive class which handles all interactions with Google Drive.

class drive.GDrive#

A class to organize Google Drive functionality

delete_file(file_id)#

Deletes file from GDrive

Parameters

file_id (str) – id of file

Return type

None

download_file(file)#

Downloads file from GDrive: https://developers.google.com/drive/api/v3/manage-downloads

Parameters

file (tuple) – tuple of file information (id, name, mimeType)

Return type

None

get_export_formats()#

Obtains export formats associated with GDrive file types

Return type

dict

Returns

dict mapping GDrive file types to available export formats

list_files(parent_id)#

Lists info on files stored in parent folder (not recursive) https://developers.google.com/drive/api/v3/search-files

Parameters

parent_id (str) – id of parent folder

Return type

List[tuple]

Returns

list of id, name, mime of files in parent folder

request_drive_file(file_id, file_name)#

Standard file download from GDrive

Parameters
  • file_id (str) – id of file

  • file_name (str) – name of file

Return type

None

request_workspace_file(file_id, file_name, drive_mime_type)#

Special “export_media” request for downloading Google Workspace files https://developers.google.com/drive/api/v3/manage-downloads#download_a_document

File is converted to appropriate export mime type, per below: https://developers.google.com/drive/api/v3/ref-export-formats

Parameters
  • file_id (str) – id of file

  • file_name (str) – name of file

  • drive_mime_type (str) – MIME type for workspace file

Return type

None

save_to_dir(file_name, file_request, temp_dir='')#

Saves file from request to temp directory

Parameters
  • file_name (str) – name of file

  • file_request (object) – file request object (drive request or export media request)

  • temp_dir (str) – path to temp directory, defaults to _TEMP_DIR

Return type

None

upload_file(file_name, file_path, output_folder_id)#

Uploads file to GDrive folder

Parameters
  • file_name (str) – name of file

  • file_path (str) – path to local file

  • output_folder_id (str) – id of GDrive folder to upload to

Return type

None