Private GIT

Skip to content
Snippets Groups Projects
Commit d69a5dbb authored by miigotu's avatar miigotu
Browse files

Merge pull request #2223 from SiCKRAGETV/zip64-breaking-backup-restore

Also need zip64 for other methods, and to extract!
parents 40ab2e26 b999198f
Branches
Tags
No related merge requests found
...@@ -1153,7 +1153,7 @@ def extractZip(archive, targetDir): ...@@ -1153,7 +1153,7 @@ def extractZip(archive, targetDir):
if not os.path.exists(targetDir): if not os.path.exists(targetDir):
os.mkdir(targetDir) os.mkdir(targetDir)
zip_file = zipfile.ZipFile(archive, 'r') zip_file = zipfile.ZipFile(archive, 'r', allowZip64=True)
for member in zip_file.namelist(): for member in zip_file.namelist():
filename = os.path.basename(member) filename = os.path.basename(member)
# skip directories # skip directories
...@@ -1175,7 +1175,7 @@ def extractZip(archive, targetDir): ...@@ -1175,7 +1175,7 @@ def extractZip(archive, targetDir):
def backupConfigZip(fileList, archive, arcname = None): def backupConfigZip(fileList, archive, arcname = None):
try: try:
a = zipfile.ZipFile(archive, 'w', zipfile.ZIP_DEFLATED) a = zipfile.ZipFile(archive, 'w', zipfile.ZIP_DEFLATED, allowZip64=True)
for f in fileList: for f in fileList:
a.write(f, os.path.relpath(f, arcname)) a.write(f, os.path.relpath(f, arcname))
a.close() a.close()
...@@ -1197,7 +1197,7 @@ def restoreConfigZip(archive, targetDir): ...@@ -1197,7 +1197,7 @@ def restoreConfigZip(archive, targetDir):
bakFilename = '{0}-{1}'.format(path_leaf(targetDir), datetime.datetime.strftime(datetime.datetime.now(), '%Y%m%d_%H%M%S')) bakFilename = '{0}-{1}'.format(path_leaf(targetDir), datetime.datetime.strftime(datetime.datetime.now(), '%Y%m%d_%H%M%S'))
shutil.move(targetDir, os.path.join(ntpath.dirname(targetDir), bakFilename)) shutil.move(targetDir, os.path.join(ntpath.dirname(targetDir), bakFilename))
zip_file = zipfile.ZipFile(archive, 'r') zip_file = zipfile.ZipFile(archive, 'r', allowZip64=True)
for member in zip_file.namelist(): for member in zip_file.namelist():
zip_file.extract(member, targetDir) zip_file.extract(member, targetDir)
zip_file.close() zip_file.close()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment