hfutils.archive

Overview:

Archive pack and unpack management.

Supported Formats:

Format

Extension Name

bztar

.tar.bz2, .tbz2

gztar

.tar.gz, .tgz

tar

.tar

xztar

.tar.xz, .txz

zip

.zip

register_archive_type

hfutils.archive.register_archive_type(name: str, exts: List[str], fn_pack: Callable, fn_unpack: Callable)[source]

Register a custom archive type with associated file extensions and packing/unpacking functions.

Parameters:
  • name (str) – The name of the archive type.

  • exts (List[str]) – A list of file extensions associated with the archive type.

  • fn_pack (Callable) – The packing function that takes a directory and an archive filename as input and creates an archive.

  • fn_unpack (Callable) – The unpacking function that takes an archive filename and a directory as input and extracts the archive.

archive_pack

hfutils.archive.archive_pack(type_name: str, directory: str, archive_file: str, silent: bool = False)[source]

Pack a directory into an archive file using the specified archive type.

Parameters:
  • type_name (str) – The name of the archive type.

  • directory (str) – The directory to pack.

  • archive_file (str) – The filename of the resulting archive.

  • silent (bool) – If True, suppress warnings during the packing process.

Returns:

The path to the created archive file.

Return type:

str

archive_unpack

hfutils.archive.archive_unpack(archive_file: str, directory: str, silent: bool = False)[source]

Unpack an archive file into a directory using the specified archive type.

Parameters:
  • archive_file (str) – The filename of the archive.

  • directory (str) – The directory to unpack the contents into.

  • silent (bool) – If True, suppress warnings during the unpacking process.

Returns:

The path to the unpacked directory.

Return type:

str

get_archive_type

hfutils.archive.get_archive_type(archive_file: str) str[source]

Determine the archive type based on the file extension.

Parameters:

archive_file (str) – The filename of the archive.

Returns:

The name of the archive type.

Return type:

str

Raises:

ValueError – If the file extension is not associated with any registered archive type.

get_archive_extname

hfutils.archive.get_archive_extname(type_name: str) str[source]

Get the file extension associated with a registered archive type.

Parameters:

type_name (str) – The name of the archive type.

Returns:

The file extension associated with the archive type.

Return type:

str

Raises:

ValueError – If the archive type is not registered.