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")