patool 2.3.0__tar.gz → 2.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {patool-2.3.0 → patool-2.4.0}/Makefile +6 -2
- {patool-2.3.0/patool.egg-info → patool-2.4.0}/PKG-INFO +1 -1
- {patool-2.3.0 → patool-2.4.0}/doc/changelog.txt +8 -0
- {patool-2.3.0 → patool-2.4.0}/doc/patool.1 +4 -3
- {patool-2.3.0 → patool-2.4.0}/doc/patool.txt +7 -5
- {patool-2.3.0 → patool-2.4.0/patool.egg-info}/PKG-INFO +1 -1
- {patool-2.3.0 → patool-2.4.0}/patoolib/__init__.py +24 -1
- {patool-2.3.0 → patool-2.4.0}/patoolib/configuration.py +1 -1
- {patool-2.3.0 → patool-2.4.0}/COPYING +0 -0
- {patool-2.3.0 → patool-2.4.0}/MANIFEST.in +0 -0
- {patool-2.3.0 → patool-2.4.0}/README.md +0 -0
- {patool-2.3.0 → patool-2.4.0}/doc/development.txt +0 -0
- {patool-2.3.0 → patool-2.4.0}/doc/icon/Makefile +0 -0
- {patool-2.3.0 → patool-2.4.0}/doc/icon/favicon.ico +0 -0
- {patool-2.3.0 → patool-2.4.0}/doc/icon/logo16x16.png +0 -0
- {patool-2.3.0 → patool-2.4.0}/doc/icon/logo32x32.png +0 -0
- {patool-2.3.0 → patool-2.4.0}/doc/install.txt +0 -0
- {patool-2.3.0 → patool-2.4.0}/patool.egg-info/SOURCES.txt +0 -0
- {patool-2.3.0 → patool-2.4.0}/patool.egg-info/dependency_links.txt +0 -0
- {patool-2.3.0 → patool-2.4.0}/patool.egg-info/entry_points.txt +0 -0
- {patool-2.3.0 → patool-2.4.0}/patool.egg-info/top_level.txt +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/cli.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/fileutil.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/log.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/mime.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/__init__.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/ar.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/arc.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/archmage.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/arj.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/bsdcpio.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/bsdtar.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/bzip2.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/bzip3.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/cabextract.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/chmlib.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/clzip.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/compress.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/cpio.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/dpkg.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/flac.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/genisoimage.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/gzip.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/isoinfo.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/jar.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/lbzip2.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/lcab.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/lha.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/lhasa.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/lrzip.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/lz4.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/lzip.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/lzma.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/lzop.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/mac.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/nomarch.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/p7azip.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/p7rzip.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/p7zip.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/p7zz.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/p7zzs.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/pbzip2.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/pdlzip.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/pigz.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/plzip.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/py_bz2.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/py_echo.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/py_gzip.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/py_lzma.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/py_tarfile.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/py_zipfile.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/rar.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/rpm.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/rpm2cpio.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/rzip.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/shar.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/shorten.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/star.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/tar.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/unace.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/unadf.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/unalz.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/unar.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/uncompress.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/unrar.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/unshar.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/unzip.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/xdms.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/xz.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/zip.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/zoo.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/zopfli.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/zpaq.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/programs/zstd.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/patoolib/util.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/pyproject.toml +0 -0
- {patool-2.3.0 → patool-2.4.0}/setup.cfg +0 -0
- {patool-2.3.0 → patool-2.4.0}/setup.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/__init__.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/__init__.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_7z.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_7za.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_7zr.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_7zz.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_7zzs.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_ar.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_arc.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_archmage.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_arj.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_bsdcpio.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_bsdtar.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_bzip2.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_bzip3.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_cabextract.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_chmlib.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_clzip.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_compress.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_cpio.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_dpkg.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_flac.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_genisoimage.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_gzip.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_isoinfo.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_jar.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_lbzip2.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_lcab.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_lha.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_lhasa.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_lrzip.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_lz4.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_lzip.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_lzma.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_lzop.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_mac.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_nomarch.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_pbzip2.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_pdlzip.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_pigz.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_plzip.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_pybz2.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_pyecho.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_pygzip.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_pylzma.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_pytarfile.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_pyzipfile.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_rar.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_rpm.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_rpm2cpio.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_rzip.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_shar.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_shorten.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_star.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_tar.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_unace.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_unadf.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_unalz.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_unar.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_uncompressreal.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_unrar.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_unshar.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_unzip.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_xdms.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_xz.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_zip.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_zoo.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_zopfli.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/archives/test_zpaq.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/p .7z +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/p.7z.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/p.arc +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/p.arc.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/p.arj +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/p.arj.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/p.cbz +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/p.cbz.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/p.rar +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/p.rar.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/p.zip +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/p.zip.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t/t.txt +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t .7z +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t .cb7 +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.7z.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.ace +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.ace.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.adf +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.adf.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.alz +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.alz.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.ape +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.ape.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.apk +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.apk.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.arc +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.arc.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.arj +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.arj.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.cab +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.cab.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.cb7.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.cba +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.cba.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.cbr +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.cbr.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.cbt +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.cbt.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.cbz +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.cbz.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.chm +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.chm.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.cpio +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.cpio.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.deb +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.deb.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.dms +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.dms.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.epub +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.epub.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.flac +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.flac.flac +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.flac.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.flac.wav +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.iso +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.iso.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.jar +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.jar.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.lha +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.lha.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.lzh +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.rar +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.rar.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.rar.gz +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.rar.gz.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.rpm +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.rpm.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.shar +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.shn +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.tar +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.tar.Z +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.tar.Z.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.tar.bz2 +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.tar.bz2.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.tar.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.tar.gz +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.tar.gz.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.tar.lz +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.tar.lz.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.tar.lzma +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.tar.lzma.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.tar.xz +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.tar.xz.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.tar.zst +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.tar.zst.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.taz +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.taz.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.tbz2 +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.tbz2.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.tgz +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.tgz.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.txt +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.txt.Z +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.txt.Z.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.txt.a +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.txt.a.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.txt.bz2 +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.txt.bz2.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.txt.bz3 +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.txt.bz3.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.txt.gz +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.txt.gz.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.txt.lrz +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.txt.lrz.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.txt.lz +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.txt.lz.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.txt.lz4 +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.txt.lz4.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.txt.lzma +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.txt.lzma.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.txt.lzo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.txt.lzo.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.txt.rz +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.txt.rz.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.txt.xz +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.txt.xz.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.txt.zst +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.txt.zst.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.vhd +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.wav +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.zip +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.zip.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.zoo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.zoo.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.zpaq +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t.zpaq.foo +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/data/t2.txt +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/test_config.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/test_create.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/test_diff.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/test_extract.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/test_fileutil.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/test_formats.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/test_help.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/test_list.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/test_mime.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/test_repack.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/test_search.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/test_test.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/test_util.py +0 -0
- {patool-2.3.0 → patool-2.4.0}/tests/test_version.py +0 -0
|
@@ -27,7 +27,7 @@ HOMEPAGE:=$(HOME)/public_html/patool-webpage.git
|
|
|
27
27
|
WEBMETA:=doc/web/source/conf.py
|
|
28
28
|
CHANGELOG:=doc/changelog.txt
|
|
29
29
|
GIT_MAIN_BRANCH:=master
|
|
30
|
-
PIP_VERSION:=24.
|
|
30
|
+
PIP_VERSION:=24.2
|
|
31
31
|
# Pytest options:
|
|
32
32
|
# -s: do not capture stdout/stderr (some tests fail otherwise)
|
|
33
33
|
# --full-trace: print full stacktrace on keyboard interrupts
|
|
@@ -89,7 +89,11 @@ upload: ## upload a new release to pypi
|
|
|
89
89
|
|
|
90
90
|
.PHONY: hub
|
|
91
91
|
hub: ## add and push a github release
|
|
92
|
-
hub release create
|
|
92
|
+
hub release create \
|
|
93
|
+
-a dist/$(ARCHIVE_SOURCE) \
|
|
94
|
+
-a dist/$(ARCHIVE_WHEEL) \
|
|
95
|
+
-m "Release $(VERSION)" \
|
|
96
|
+
upstream/$(VERSION)
|
|
93
97
|
|
|
94
98
|
# Make a new release by calling all the distinct steps in the correct order.
|
|
95
99
|
# Each step is a separate target so that it's easy to do this manually if
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
2.4.0 (released 21.08.2024)
|
|
2
|
+
* Document that patool extracts the archive for the search and repack commands.
|
|
3
|
+
Closes: GH bug #154
|
|
4
|
+
* Add supported_formats() API function listing supported formats and operations
|
|
5
|
+
for each format.
|
|
6
|
+
Idea and patch by github user nohr-ai, thanks!
|
|
7
|
+
|
|
8
|
+
|
|
1
9
|
2.3.0 (released 26.06.2024)
|
|
2
10
|
* Add linting check to github workflow CI.
|
|
3
11
|
Idea and patch by sorairolake, thanks!
|
|
@@ -127,14 +127,15 @@ The diff options used are \fB\-urN\fP.
|
|
|
127
127
|
.SS search
|
|
128
128
|
\fBpatool\fP \fBsearch\fP <\fIpattern\fP> <\fIarchive\fP>
|
|
129
129
|
.PP
|
|
130
|
-
|
|
130
|
+
Unpack the given archive in a temporary directory and search in archive
|
|
131
|
+
contents for given pattern using the \fBgrep(1)\fP program.
|
|
131
132
|
The grep options used are \fB\-r\fP; additional options can be supplied
|
|
132
133
|
with the \fBGREP_OPTIONS\fP environment variable.
|
|
133
134
|
.SS repack
|
|
134
135
|
\fBpatool\fP \fBrepack\fP <\fIarchive\fP> <\fIarchive_new\fP>
|
|
135
136
|
.PP
|
|
136
|
-
|
|
137
|
-
determined by the file extension of \fIarchive_new\fP.
|
|
137
|
+
Extract and re-compress archive to a different format.
|
|
138
|
+
The target archive format is determined by the file extension of \fIarchive_new\fP.
|
|
138
139
|
.SS formats
|
|
139
140
|
\fBpatool\fP \fBformats\fP
|
|
140
141
|
.PP
|
|
@@ -125,15 +125,17 @@ COMMANDS
|
|
|
125
125
|
search
|
|
126
126
|
patool search <pattern> <archive>
|
|
127
127
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
128
|
+
Unpack the given archive in a temporary directory and search in
|
|
129
|
+
archive contents for given pattern using the grep(1) program.
|
|
130
|
+
The grep options used are -r; additional options can be sup‐
|
|
131
|
+
plied with the GREP_OPTIONS environment variable.
|
|
131
132
|
|
|
132
133
|
repack
|
|
133
134
|
patool repack <archive> <archive_new>
|
|
134
135
|
|
|
135
|
-
|
|
136
|
-
format is determined by the
|
|
136
|
+
Extract and re-compress archive to a different format. The
|
|
137
|
+
target archive format is determined by the file extension of
|
|
138
|
+
archive_new.
|
|
137
139
|
|
|
138
140
|
formats
|
|
139
141
|
patool formats
|
|
@@ -31,6 +31,7 @@ from . import fileutil, log, util
|
|
|
31
31
|
# export API functions
|
|
32
32
|
__all__ = [
|
|
33
33
|
'list_formats',
|
|
34
|
+
'supported_formats',
|
|
34
35
|
'list_archive',
|
|
35
36
|
'extract_archive',
|
|
36
37
|
'test_archive',
|
|
@@ -605,7 +606,7 @@ def list_formats():
|
|
|
605
606
|
for command in ArchiveCommands:
|
|
606
607
|
programs = ArchivePrograms[format]
|
|
607
608
|
if command not in programs and None not in programs:
|
|
608
|
-
print(" {command:>8}: - (not supported)")
|
|
609
|
+
print(f" {command:>8}: - (not supported)")
|
|
609
610
|
continue
|
|
610
611
|
try:
|
|
611
612
|
program = find_archive_program(format, command)
|
|
@@ -631,6 +632,28 @@ def list_formats():
|
|
|
631
632
|
)
|
|
632
633
|
|
|
633
634
|
|
|
635
|
+
def supported_formats(operations=ArchiveCommands):
|
|
636
|
+
"""Return a list of supported archive formats for an iterable of operations.
|
|
637
|
+
|
|
638
|
+
:param operations: The operations to check for, defaults to ArchiveCommands.
|
|
639
|
+
:type operations: List|Tuple|Set|Dict[str]
|
|
640
|
+
:return: A list of supported archive formats.
|
|
641
|
+
:rtype: List[str]
|
|
642
|
+
"""
|
|
643
|
+
supported = list(ArchiveFormats)
|
|
644
|
+
for format in ArchiveFormats:
|
|
645
|
+
# NOTE: If we wish to include supported formats in the CLI
|
|
646
|
+
# argparse default nargs to an empty list, so we would need some
|
|
647
|
+
# check to set operations to ArchiveCommands if bool(operations) is False.
|
|
648
|
+
for command in operations:
|
|
649
|
+
try:
|
|
650
|
+
find_archive_program(format, command)
|
|
651
|
+
except util.PatoolError:
|
|
652
|
+
supported.remove(format)
|
|
653
|
+
break
|
|
654
|
+
return supported
|
|
655
|
+
|
|
656
|
+
|
|
634
657
|
def check_program_compression(archive, command, program, compression):
|
|
635
658
|
"""Check if a program supports the given compression."""
|
|
636
659
|
program = os.path.basename(program)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|