nightly-cef180ea-ls341
Pre-release
Pre-release
·
14 commits
to nightly
since this release
CI Report:
https://ci-tests.linuxserver.io/linuxserver/beets/nightly-cef180ea-ls341/index.html
LinuxServer Changes:
Full Changelog: nightly-63b69fa9-ls340...nightly-cef180ea-ls341
Remote Changes:
importer: fix tar and 7z archive import (#6696)
- Fixes #5664. Both tar and 7z archive imports were broken because
ArchiveImportTask.extractcallsarchive.infolist(), but neither
tarfile.TarFile(lostZipFileCompatin Python 3) nor
py7zr.SevenZipFile(exposeslist()instead) provides it. Both
surfaces produced'… object has no attribute 'infolist'and aborted
the import. - Adds thin module-level wrappers —
TarArchive(subclass of
tarfile.TarFile) andSevenZipArchive(composition over
py7zr.SevenZipFile, sincepy7zris optional) — that expose a
ZipFile-compatibleinfolist(). Tiny_TarMemberInfo/
_SevenZipMemberInfoadapters carry only the two attributes the extract
loop reads:filenameanddate_time. - Fixes a latent bug in the test suite:
ImportTarTest.create_archive
andImport7zTest's inheritance were dead code. The parent
test_import_zipcalled the module-levelcreate_archive(self)helper,
which only knows how to build zips, so both tar and 7z tests were
silently exercising the zip path. Routing through
self.create_archive()makes them real regression tests for this bug.
This supersedes #5666; design follows @wisp3rwind's review feedback
there (module-level wrappers, minimal adapters, shared test
infrastructure via self.create_archive).