def upload_directory()

in files/default/rgw_s3_api.py [0:0]


def upload_directory(bucket, directory, pattern='*', include_dir_prefix=False, make_public=False, verbose=False):
    if not bucket or not directory:
        if verbose:
            print('Bucket and/or directory name is not valid.')
        return None

    # One way
    # files = [f for f in listdir(directory) if isfile(join(directory, f))]

    # Using glob allows for simple patterns and no hidden files...
    files = glob.glob(os.path.join(directory, pattern))
    files = [f for f in files if isfile(f)]  # Scrub the list for only files
    file_names = [f.split('/')[-1] for f in files]

    if verbose:
        print('Directory list obtained and scrubbed.')

    key_objects = []

    count = 0
    for file_name in file_names:
        key_objects.append(object_create(bucket, file_name, file_name_path=files[count], make_public=make_public, verbose=verbose))
        if verbose:
            print('File: %s uploaded.' % file_name)
        count += 1

    return key_objects