in src/aws_encryption_sdk_cli/internal/io_handling.py [0:0]
def process_dir(self, stream_args, source, destination, suffix):
# type: (STREAM_KWARGS, str, str, str) -> None
"""Processes encrypt/decrypt operations on all files in a directory tree.
:param dict stream_args: kwargs to pass to `aws_encryption_sdk.stream`
:param str source: Full file path to source directory root
:param str destination: Full file path to destination directory root
:param str suffix: Suffix to append to output filename
"""
_LOGGER.debug("%sing directory %s to %s", stream_args["mode"], source, destination)
for base_dir, _dirs, files in os.walk(source):
for filename in files:
source_filename = os.path.join(base_dir, filename)
destination_dir = _output_dir(source_root=source, destination_root=destination, source_dir=base_dir)
destination_filename = output_filename(
source_filename=source_filename,
destination_dir=destination_dir,
mode=str(stream_args["mode"]),
suffix=suffix,
)
self.process_single_file(
stream_args=stream_args, source=source_filename, destination=destination_filename
)