mirror of
https://github.com/beetbox/beets.git
synced 2025-12-09 18:12:19 +01:00
Call tarfile.open instead of tarfile.TarFile from the importer so that
we can import compressed tar archives.
Note that tarfile.TarFile does not handle compressed archives:
$ python3
Python 3.8.2 (default, Apr 27 2020, 15:53:34)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tarfile
>>> tf = tarfile.TarFile("Lagrimas.tar.bz2")
Traceback (most recent call last):
[...]
tarfile.ReadError: invalid header
>>>
But tarfile.open does deal with them:
$ python3
Python 3.8.2 (default, Apr 27 2020, 15:53:34)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tarfile
>>> tf = tarfile.open("Lagrimas.tar.bz2")
>>>
Tested:
$ ls Lagrimas/*.mp3 | wc -l
11
$ tar cjf Lagrimas.tar.bz2 Lagrimas/
- Before:
$ beet import Lagrimas.tar.bz2
extraction failed: invalid header
No files imported from /tmp/Lagrimas.tar.bz2
- After:
$ beet import Lagrimas.tar.bz2
[works]
Fixes #3606.
|
||
|---|---|---|
| .. | ||
| dev | ||
| guides | ||
| plugins | ||
| reference | ||
| changelog.rst | ||
| conf.py | ||
| faq.rst | ||
| index.rst | ||
| Makefile | ||
| modd.conf | ||