Skip to content

utils.archive

This module is used to compress and decompress files. It supports decompression of most common compression formats. It will automatically detect which compression tools are provided by the system, and then will use the most appropriate compression tool for the operation.

archive.archive

  • zip files

Function Prototype

API

lua
archive.archive(archivefile: <string>, outputdir: <string>, options: <table>)

Parameter Description

ParameterDescription
archivefileRequired. Archive file path
outputdirRequired. Output directory path
optionsOptional. Configuration options, supports the following:
- curdir - Current working directory
- recurse - Whether to recurse directories
- compress - Compression quality (fastest

Return Value

No return value

Usage

lua
import("utils.archive")

archive.archive("/tmp/a.zip", "/tmp/outputdir")
archive.archive("/tmp/a.7z", "/tmp/outputdir")
archive.archive("/tmp/a.gzip", "/tmp/outputdir")
archive.archive("/tmp/a.tar.bz2", "/tmp/outputdir")

Some configuration options can also be added, such as recursive directories, compression quality, exclude files, etc.

lua
import("utils.archive")

local options = {}
options.curdir = "/tmp"
options.recurse = true
options.compress = "fastest|faster|default|better|best"
options.excludes = {"*/dir/*", "dir/*"}
archive.archive("/tmp/a.zip", "/tmp/outputdir", options)

archive.extract

  • unzip files

Function Prototype

API

lua
archive.extract(archivefile: <string>, outputdir: <string>)

Parameter Description

ParameterDescription
archivefileRequired. Archive file path
outputdirRequired. Output directory path

Return Value

No return value

Usage

lua
import("utils.archive")

archive.extract("/tmp/a.zip", "/tmp/outputdir")
archive.extract("/tmp/a.7z", "/tmp/outputdir")
archive.extract("/tmp/a.gzip", "/tmp/outputdir")
archive.extract("/tmp/a.tar.bz2", "/tmp/outputdir")