Lua module to work with file zips.
Functions to create, modify, and extract files from zip archives.
The module can be called as a function, in which case it behaves
like the zip function described below.
Zip options are optional; when defined, they must be a table with any of the following keys:
recursive: recurse directories when set totrue;verbose: print info messages to stdout;destination: the value specifies the directory in which to extract;location: value is used as path name, defining where files are placed.preserve_symlinks: Boolean value, controlling whether symbolic links are preserved as such. This option is ignored on Windows.
Archive (bytestring_or_entries)
Reads an Archive structure from a raw zip archive or a list of Entry items; throws an error if the given string cannot be decoded into an archive.
Since: 1.0.0
Parameters:
bytestring_or_entries : (string|{ZipEntry,...})
Returns:
- (ZipArchive)
Entry (path, contents[, modtime])
Generates a zip Entry from a filepath, the file's uncompressed content, and the file's modification time.
Since: 1.0.0
Parameters:
path : file path in archive (string)
contents : uncompressed contents (string)
modtime : modification time (integer)
read_entry (filepath, opts)
Generates a ZipEntry from a file or directory.
Since: 1.0.0
Parameters:
filepath : (string)
opts : zip options (table)
Returns:
- a new zip archive entry (ZipEntry)
zip (filepaths[, options])
Package and compress the given files into a new Archive.
Since: 1.0.0
Parameters:
filepaths : list of files from which the archive is created. ({string,...})
options : zip options (table)
Returns:
- a new archive (ZipArchive)
A zip archive with file entries.
entries
: files in this zip archive ({Entry,...})
extract([opts])
: Extract all files from this archive, creating directories as
needed. Note that the last-modified time is set correctly only
in POSIX, not in Windows. This function fails if encrypted
entries are present.
Use `archive:extract{destination = 'dir'}` to extract to
subdirectory `dir`.
bytestring()
: Returns the raw binary string representation of the archive.
File or directory entry in a zip archive.
path
: relative path, using / as separator
modtime
: modification time (seconds since unix epoch)
contents([password])
: Get the uncompressed contents of a zip entry. If password is
given, then that password is used to decrypt the contents. An
error is throws if decrypting fails.