diff --git a/patoolib/__init__.py b/patoolib/__init__.py index 8eb9410..798be3c 100644 --- a/patoolib/__init__.py +++ b/patoolib/__init__.py @@ -224,9 +224,9 @@ ArchivePrograms = { None: ('lzop',), }, 'lzma': { - 'extract': ('lzma',) + py_lzma, - 'list': ('py_echo',), - 'test': ('lzma',), + 'extract': ('7z', 'lzma') + py_lzma, + 'list': ('7z', 'py_echo'), + 'test': ('7z', 'lzma'), 'create': ('lzma',) + py_lzma, }, 'rzip': { diff --git a/patoolib/programs/p7zip.py b/patoolib/programs/p7zip.py index d087344..99a4b1a 100644 --- a/patoolib/programs/p7zip.py +++ b/patoolib/programs/p7zip.py @@ -31,6 +31,7 @@ extract_bzip2 = \ extract_deb = \ extract_iso = \ extract_xz = \ + extract_lzma = \ extract_7z def list_7z (archive, compression, cmd, verbosity): @@ -49,6 +50,7 @@ list_bzip2 = \ list_deb = \ list_iso = \ list_xz = \ + list_lzma = \ list_7z @@ -68,6 +70,7 @@ test_bzip2 = \ test_deb = \ test_iso = \ test_xz = \ + test_lzma = \ test_7z diff --git a/tests/archives/test_7z.py b/tests/archives/test_7z.py index e42c9eb..ff13c52 100644 --- a/tests/archives/test_7z.py +++ b/tests/archives/test_7z.py @@ -27,6 +27,7 @@ class Test7z (ArchiveTest): self.archive_commands('t.txt.xz', check=Content.Singlefile) self.archive_list('t.txt.gz') self.archive_list('t.txt.bz2') + self.archive_list('t.txt.lzma') self.archive_list('t.jar') self.archive_list('t.txt.Z') self.archive_list('t.cab') @@ -37,6 +38,7 @@ class Test7z (ArchiveTest): self.archive_list('t.iso') self.archive_extract('t.txt.gz', check=Content.Singlefile) self.archive_extract('t.txt.bz2', check=Content.Singlefile) + self.archive_extract('t.txt.lzma', check=Content.Singlefile) self.archive_extract('t.jar', check=None) self.archive_extract('t.txt.Z', check=Content.Singlefile) self.archive_extract('t.cab') @@ -47,6 +49,7 @@ class Test7z (ArchiveTest): self.archive_extract('t.iso') self.archive_test('t.txt.gz') self.archive_test('t.txt.bz2') + self.archive_test('t.txt.lzma') self.archive_test('t.jar') self.archive_test('t.txt.Z') self.archive_test('t.cab')