summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xmultiarchimport.py18
1 files changed, 9 insertions, 9 deletions
diff --git a/multiarchimport.py b/multiarchimport.py
index 7d5439b..5eefe4b 100755
--- a/multiarchimport.py
+++ b/multiarchimport.py
@@ -18,7 +18,7 @@ except ImportError:
from debian import deb822
from debian.debian_support import version_compare
-from dedup.debpkg import DebExtractor, decodetarname
+from dedup.debpkg import DebExtractor
from dedup.hashing import hash_file
from dedup.utils import fetchiter, open_compressed_mirror_url
@@ -106,30 +106,30 @@ class MultiarchExtractor(DebExtractor):
self.result["contents"] = contents = dict()
for elem in tarfileobj:
try:
- name = decodetarname(elem.name)
- except UnicodeDecodeError:
+ elem.name.encode("utf8", "strict")
+ except UnicodeEncodeError:
logging.warning("skipping filename with encoding error %r",
elem.name)
continue # skip files with non-utf8 encoding for now
if elem.isreg():
hasher = hashlib.sha256()
hash_file(hasher, tarfileobj.extractfile(elem))
- contents[name] = "R" + hasher.hexdigest()
+ contents[elem.name] = "R" + hasher.hexdigest()
elif elem.issym() or elem.islnk():
try:
- linkname = decodetarname(elem.linkname)
- except UnicodeDecodeError:
+ elem.linkname.encode("utf8", "strict")
+ except UnicodeEncodeError:
logging.warning("skipping link with encoding error %r",
elem.linkname)
continue
if elem.issym():
- contents[name] = u"S" + linkname
+ contents[elem.name] = "S" + elem.linkname
else:
try:
- contents[name] = contents[linkname]
+ contents[elem.name] = contents[elem.linkname]
except KeyError:
logging.warning("hard link to non-existent file %r",
- linkname)
+ elem.linkname)
raise ProcessingFinished
def process_one_package(item):