[ Tcllib Home | Main Table Of Contents | Table Of Contents | Keyword Index | Categories | Modules | Applications ]

# zipfile::decode(n) 0.9 tcllib "Zip archive handling"

## Name

zipfile::decode - Access to zip archives

## Synopsis

- package require Tcl 8.4
- package require fileutil::decode 0.2.1
- package require Trf
- package require zlibtcl
- package require zipfile::decode ?0.9?

- ::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. 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 © 2008-2022 Andreas Kupries