hslua-module-zip: Lua module to work with file zips.

[ foreign, library, mit ] [ Propose Tags ] [ Report a vulnerability ]

Module with function for creating, modifying, and extracting files from zip archives.


[Skip to Readme]

Modules

[Index] [Quick Jump]

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 1.0.0, 1.1.0, 1.1.1, 1.1.2, 1.1.3
Change log CHANGELOG.md
Dependencies base (>=4.11 && <5), bytestring, filepath (>=1.4 && <1.6), hslua-core (>=2.3 && <2.4), hslua-list (>=1.1 && <1.2), hslua-marshalling (>=2.3 && <2.4), hslua-packaging (>=2.3 && <2.4), hslua-typing (>=0.1 && <0.2), text (>=1.2 && <2.2), time (>=1.5 && <1.15), zip-archive (>=0.4 && <0.5) [details]
Tested with ghc ==8.4.4, ghc ==8.6.5, ghc ==8.8.4, ghc ==8.10.7, ghc ==9.0.2, ghc ==9.2.8, ghc ==9.4.8, ghc ==9.6.3, ghc ==9.8.1
License MIT
Copyright © 2020-2024 Albert Krewinkel
Author Albert Krewinkel
Maintainer Albert Krewinkel <tarleb@hslua.org>
Revised Revision 1 made by tarleb at 2024-08-31T20:11:55Z
Category Foreign
Home page https://hslua.org/
Bug tracker https://github.com/hslua/hslua/issues
Source repo head: git clone https://github.com/hslua/hslua(hslua-module-zip)
Uploaded by tarleb at 2024-05-05T19:11:49Z
Distributions Arch:1.1.1, Fedora:1.1.1, LTSHaskell:1.1.3, NixOS:1.1.3, Stackage:1.1.3, openSUSE:1.1.3
Reverse Dependencies 1 direct, 1 indirect [details]
Downloads 4137 total (250 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2024-05-05 [all 1 reports]

Readme for hslua-module-zip-1.1.3

[back to package description]

hslua-module-zip

GitHub CI Hackage Stackage Lts Stackage Nightly MIT license

Lua module to work with file zips.

zip

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 to true;
  • 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.

Functions

Archive

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

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

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

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)

Types

Archive

A zip archive with file entries.

Fields

entries : files in this zip archive ({Entry,...})

Methods

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.

Entry

File or directory entry in a zip archive.

Fields:

path : relative path, using / as separator

modtime : modification time (seconds since unix epoch)

Methods:

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.