def process_dir()

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
                )