def __init__(self, package_path, package_file_resolver_factory, package_file_ext, package_extractor):
        """
        :param package_path:
        :param package_file_resolver_factory: a factory creating package file resolver
        :param package_file_ext: package file extension
        :param package_extractor: a function taking package file, package path, and extracting contents to that path
        :return:
        """
        WithLogger.__init__(self)

        self._package_path = package_path
        self._package_file_resolver_factory = package_file_resolver_factory
        self._package_file_ext = package_file_ext
        self._package_extractor = package_extractor

        :param package_path:
        :param package_file_resolver_factory: a factory creating package file resolver
        :param package_file_ext: package file extension
        :param package_extractor: a function taking package file, package path, and extracting contents to that path
        :return:
        
cakechat/utils/files_utils.py