79 lines
2.7 KiB
Plaintext
79 lines
2.7 KiB
Plaintext
Development with the patoolib library
|
|
======================================
|
|
|
|
The patool funtionality can also be used in other Python programs.
|
|
To do this, install the patool program, import the library and
|
|
use one or more of the convenience functions.
|
|
|
|
import patoolib
|
|
if patoolib.extract("myarchive.zip", verbose=True) == 0:
|
|
print "Success."
|
|
else:
|
|
print "Error."
|
|
|
|
General rules for all convenience functions:
|
|
|
|
* All convenience function return zero when no error occurred, else
|
|
an integer unequal zero.
|
|
|
|
* Error messages are printed on stderr, informative messages
|
|
are printed on stdout.
|
|
|
|
* All file arguments are filenames. File objects are not accepted
|
|
as input.
|
|
|
|
* Filenames can be relative or absolute.
|
|
|
|
The convenience functions are:
|
|
|
|
* ``def extract(archive, verbose=False, outdir=None)``
|
|
|
|
Extracts the given archive filename to the current working directory
|
|
or if specified to the given directory name in outdir.
|
|
If verbose operation is set to True, additional output of the archive
|
|
program is shown.
|
|
Checks that the archive exists and is readable before extracting it.
|
|
|
|
* ``def list(archive, verbose=False)``
|
|
|
|
Lists the contents of the given archive filename on stdout.
|
|
If verbose operation is set to True, additional output of the archive
|
|
program is shown.
|
|
Checks that the archive exists and is readable before listing it.
|
|
|
|
* ``def test(archive, verbose=False)``
|
|
|
|
Tests the given archive filename.
|
|
If verbose operation is set to True, additional output of the archive
|
|
program is shown.
|
|
Checks that the archive exists and is readable before testing it.
|
|
|
|
* ``def create(archive, *filenames, **kwargs)``
|
|
|
|
Creates a new archive. The type of archive is determined
|
|
by the archive filename extension.
|
|
If verbose operation is set to True, additional output of the archive
|
|
program is shown.
|
|
Checks that the archive is not already existing to avoid overwriting it.
|
|
Also checks that the filename list is not empty and that all files exist
|
|
and are readable.
|
|
|
|
* ``def diff(archive1, archive2, verbose=False)``
|
|
|
|
This function lists differences in the content of the two archives.
|
|
Both archives are extracted and the contents are compared
|
|
recursively with the diff(1) program.
|
|
If verbose operation is set to True, additional output of the archive
|
|
program is shown.
|
|
Checks that both archives exist and are readable.
|
|
|
|
* ``def repack(archive1, archive2, verbose=False)``
|
|
|
|
This function extracts the contents of archive1 and packs them
|
|
into archive2.
|
|
If verbose operation is set to True, additional output of the archive
|
|
program is shown.
|
|
Checks that archive1 exists and is readable. Also checks that
|
|
archive2 does not exist to avoid overwriting it.
|
|
|