mml.core.data_preparation.archive_extractors

ask_password(file: Path | None = None) str[source]

Lets user input a password to decrypt a data file

Parameters:

file (Optional[Path]) – The file to unpack

Returns:

password

Return type:

str

default_file_copy(archive: DataArchive, folder: Path) None[source]

Default extraction is to fall back to a simple copy for files (e.g. sometimes plain .csv files are shared).

Parameters:
  • archive (DataArchive) – DataArchive to extract.

  • folder (Path) – target folder.

Returns:

default_folder_copy(archive: DataArchive, folder: Path) None[source]

Default extraction is to fall back to a simple copy for folders (e.g. for very small datasets).

Parameters:
  • archive (DataArchive) – DataArchive to extract.

  • folder (Path) – target folder.

Returns:

is_encrypted(zipfile: ZipFile) bool[source]

Checks whether a ZipFile is password protected

Parameters:

zipfile (ZipFile) – file to check

Returns:

True if password protected, False otherwise

Return type:

bool

rar_extractor(archive: DataArchive, folder: Path) None[source]

Extraction for RAR files.

Parameters:
  • archive (DataArchive) – DataArchive to extract.

  • folder (Path) – target folder.

Returns:

tar_extractor(archive: DataArchive, folder: Path) None[source]

Extraction for TAR files.

Parameters:
  • archive (DataArchive) – DataArchive to extract.

  • folder (Path) – target folder.

Returns:

unpack_files(archives: List[DataArchive], target: Path) None[source]

Extracts and copies archives to the target folder. Supports zip, rar and tar archives. Also copies non-archive files as well as folders.

Parameters:
  • archives (List[DataArchive]) – List of data archives.

  • target (Path) – Target folder path.

Returns:

None

zip_extractor(archive: DataArchive, folder: Path) None[source]

Extraction for ZIP files.

Parameters:
  • archive (DataArchive) – DataArchive to extract.

  • folder (Path) – target folder.

Returns: