Since Python 3.3.1, ZipFile.extractall was enhanced to better handle absolute paths and illegal characters. The associated logic within shutil._unpack_zipfile essentially skips zip members with these issues.
If a zip file contains all absolute paths, ZipFile.extractall works as expected (i.e. the zip file is unpacked), but shutil._unpack_zipfile (normally called indirectly via shutil.unpack_archive) appears to do nothing (i.e. it silently fails to unpack the zip file).
The attached patch attempts to unify the behavior of extracting zip files between shutil.unpack_archive with ZipFile.extractall. |