Пример #1
0
def upload_files(drive: GoogleDrive, source: str, target: str='') -> None:
    """Uploads file(s) to google drive

    Uploads all files to the target folder, even if they are contained
    in distinct folders originally.

    Args:
      drive: The google drive in question
      source: glob-expression of file(s) to be uploaded.
      target: Target folder in the google drive (if non-existent will be created)
    """
    file_list = glob.glob(source)
    target_folder = drive.make_dir(target)
    for f in file_list:
        name = os.path.split(f)[-1]
        metadata = {
            'title': name,
            'parents': [{'id': target_folder['id']}]    
        }
        file = drive.CreateFile(metadata)
        file.Upload()
        file.SetContentFile(f)
        file.Upload()