zipfile::decode(3tcl)

NAME
zipfile::decode - Access to zip archives

SYNOPSIS
package require Tcl 8.5 9

package require fileutil::decode 0.2.1

package require Trf

package require zlibtcl

package require zipfile::decode ?0.10.1?

::zipfile::decode::archive

::zipfile::decode::close

::zipfile::decode::comment adict

::zipfile::decode::content archive

::zipfile::decode::copyfile adict path dst

::zipfile::decode::files adict

::zipfile::decode::getfile zdict path

::zipfile::decode::hasfile adict path

::zipfile::decode::filesize zdict path

::zipfile::decode::filecomment zdict path

::zipfile::decode::iszip archive

::zipfile::decode::open archive

::zipfile::decode::unzip adict dstdir

::zipfile::decode::unzipfile archive dstdir

DESCRIPTION

Note: packages Trf and zlibtcl are not required if TCL 8.6 is available. This package provides commands to decompress and access the contents of zip archives.

API

::zipfile::decode::archive
    This command decodes the last opened (and not yet closed) zip archive file. The result of the command is a dictionary describing the contents of the archive. The structure of this dictionary is not public. Proper access should be made through the provided accessor commands of this package.

::zipfile::decode::close
    This command releases all state associated with the last call of ::zipfile::decode::open. The result of the command is the empty string.

::zipfile::decode::comment adict
    This command takes a dictionary describing the currently open zip archive file, as returned by ::zipfile::decode::archive, and returns the global comment of the archive.

::zipfile::decode::content archive
    This is a convenience command which decodes the specified zip archive file and returns the list of paths found in it as its result.

::zipfile::decode::copyfile adict path dst
    This command takes a dictionary describing the currently open zip archive file, as returned by ::zipfile::decode::archive, and copies the decompressed contents of the file path in the archive to the the file dst. An error is thrown if the file is not found in the archive.

::zipfile::decode::files adict
    This command takes a dictionary describing the currently open zip archive file, as returned by ::zipfile::decode::archive, and returns the list of files found in the archive.

::zipfile::decode::getfile zdict path
    This command takes a dictionary describing the currently open zip archive file, as returned by ::zipfile::decode::archive, and returns the decompressed contents of the file path in the archive. An error is thrown if the file is not found in the archive.

::zipfile::decode::hasfile adict path
    This command takes a dictionary describing the currently open zip archive file, as returned by ::zipfile::decode::archive, and check if the specified path is found in the archive. The result of the command is a boolean flag, true if the path is found, and false otherwise.

::zipfile::decode::filesize zdict path
    This command takes a dictionary describing the currently open zip archive file, as returned by ::zipfile::decode::archive, and returns the decompressed size of the file path in the archive. An error is thrown if the file is not found in the archive.

::zipfile::decode::filecomment zdict path
    This command takes a dictionary describing the currently open zip archive file, as returned by ::zipfile::decode::archive, and returns the per-file comment of the file path in the archive. An error is thrown if the file is not found in the archive.

::zipfile::decode::iszip archive
    This command takes the path of a presumed zip archive file and returns a boolean flag as the result of the command telling us if it actually is a zip archive (true), or not (false).

::zipfile::decode::open archive
    This command takes the path of a zip archive file and prepares it for decoding. The result of the command is the empty string. All important information is stored in global state. If multiple open calls are made one after the other only the state of the last call is available to the other commands.

::zipfile::decode::unzip adict dstdir
    This command takes a dictionary describing the currently open zip archive file, as returned by ::zipfile::decode::archive, and unpacks the archive in the given destination directory dstdir. The result of the command is the empty string.

::zipfile::decode::unzipfile archive dstdir
    This is a convenience command which unpacks the specified zip archive file in the given destination directory dstdir.

    The result of the command is the empty string.

BUGS, IDEAS, FEEDBACK
This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category zipfile of the Tcllib Trackers [http://core.tcl.tk/tcllib/reportlist]. Please also report any ideas for enhancements you may have for either package and/or documentation.

When proposing code changes, please provide unified diffs, i.e the output of diff -u.

Note further that attachments are strongly preferred over inlined patches. Attachments can be made by going to the Edit form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.

KEYWORDS
decompression, zip

CATEGORY
File

COPYRIGHT
Copyright (c) 2008-2022 Andreas Kupries