75 lines
2.4 KiB
Plaintext
75 lines
2.4 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)``
|
|
|
|
This function 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.
|
|
|
|
* ``def list(archive, verbose=False)``
|
|
|
|
This function 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.
|
|
|
|
* ``def test(archive, verbose=False)``
|
|
|
|
This function tests the given archive filename.
|
|
If verbose operation is set to True, additional output of the archive
|
|
program is shown.
|
|
|
|
* ``def create(archive, *filenames, **kwargs)``
|
|
|
|
This function creates a new archive. The type of archive is determined
|
|
by the archive filename extension. The archive must not already
|
|
exist.
|
|
The list of filenames to add to the archive must not be empty and the
|
|
files must exist and be readable.
|
|
If verbose operation is set to True, additional output of the archive
|
|
program is shown.
|
|
|
|
* ``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.
|
|
|
|
* ``def repack(archive1, archive2, verbose=False)``
|
|
|
|
This function extracts the contents of archive1 and packs them
|
|
into archive2.
|
|
Archive1 and archive2 must be different files.
|
|
If verbose operation is set to True, additional output of the archive
|
|
program is shown.
|
|
|