From 9a69fa655c663c09009726ab0f1ad9e67325ccaa Mon Sep 17 00:00:00 2001
From: 周伟奇 <zhouweiqi@situdata.com>
Date: Fri, 20 Mar 2020 18:16:03 +0800
Subject: [PATCH] fix decode bug

---
 zipfiles/__init__.py | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/zipfiles/__init__.py b/zipfiles/__init__.py
index 8ec20cf..cb91456 100644
--- a/zipfiles/__init__.py
+++ b/zipfiles/__init__.py
@@ -1210,11 +1210,11 @@ class ZipFile:
                 filename = filename.decode('utf-8')
             else:
                 # Historical ZIP filename encoding
-                filename = filename.decode('cp437')
+                # filename = filename.decode('cp437')
                 try:
-                    filename = filename.encode("cp437").decode('gbk')
+                    filename = filename.decode('utf-8')
                 except:
-                    pass
+                    filename = filename.decode("gbk")
             # Create ZipInfo instance to store file information
             x = ZipInfo(filename)
             x.extra = fp.read(centdir[_CD_EXTRA_FIELD_LENGTH])
@@ -1392,11 +1392,11 @@ class ZipFile:
                 # UTF-8 filename
                 fname_str = fname.decode("utf-8")
             else:
-                fname_str = fname.decode("cp437")
+                # fname_str = fname.decode("cp437")
                 try:
-                    fname_str = fname_str.encode("cp437").decode('gbk')
+                    fname_str = fname.decode("utf-8")
                 except:
-                    pass
+                    fname_str = fname.decode("gbk")
 
             if fname_str != zinfo.orig_filename:
                 raise BadZipFile(
--
libgit2 0.24.0