Commit f9b2902f authored by Jason R. Coombs's avatar Jason R. Coombs

_extract_member needs final_dst to be a native string. Ref #710.

parent 12dc2c65
...@@ -8,6 +8,8 @@ import posixpath ...@@ -8,6 +8,8 @@ import posixpath
import contextlib import contextlib
from distutils.errors import DistutilsError from distutils.errors import DistutilsError
from setuptools.extern import six
from pkg_resources import ensure_directory, ContextualZipFile from pkg_resources import ensure_directory, ContextualZipFile
...@@ -164,6 +166,8 @@ def unpack_tarfile(filename, extract_dir, progress_filter=default_filter): ...@@ -164,6 +166,8 @@ def unpack_tarfile(filename, extract_dir, progress_filter=default_filter):
if final_dst: if final_dst:
if final_dst.endswith(os.sep): if final_dst.endswith(os.sep):
final_dst = final_dst[:-1] final_dst = final_dst[:-1]
if six.PY2:
final_dst = final_dst.encode(tarfile.ENCODING)
try: try:
# XXX Ugh # XXX Ugh
tarobj._extract_member(member, final_dst) tarobj._extract_member(member, final_dst)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment