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