Scroll to navigation

zipfile::decode(3tcl) Zip archive handling zipfile::decode(3tcl)


NAME

zipfile::decode - Access to zip archives

SYNOPSIS

package require Tcl 8.4

package require fileutil::magic::mimetype

package require fileutil::decode 0.2.1

package require Trf

package require zlibtcl

package require zipfile::decode ?0.7.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::iszip archive

::zipfile::decode::open archive

::zipfile::decode::unzip adict dstdir

::zipfile::decode::unzipfile archive dstdir


DESCRIPTION

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 command 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::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-2016 Andreas Kupries
0.7.1 tcllib