Skip to content
This repository was archived by the owner on Oct 30, 2022. It is now read-only.

Commit 7596bc5

Browse files
committed
🐛 - Allow ZIP64
Address #102
1 parent a6a5d61 commit 7596bc5

File tree

6 files changed

+17
-17
lines changed

6 files changed

+17
-17
lines changed

resources/libs/backup.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -136,11 +136,11 @@ def backup_addon_pack(self, name=""):
136136
tempzipname = ''
137137
zipname = os.path.join(CONFIG.MYBUILDS, name)
138138
try:
139-
zipf = zipfile.ZipFile(xbmc.translatePath(zipname), mode='w')
139+
zipf = zipfile.ZipFile(xbmc.translatePath(zipname), mode='w', allowZip64=True)
140140
except:
141141
try:
142142
tempzipname = os.path.join(CONFIG.PACKAGES, '{0}.zip'.format(name))
143-
zipf = zipfile.ZipFile(tempzipname, mode='w')
143+
zipf = zipfile.ZipFile(tempzipname, mode='w', allowZip64=True)
144144
except:
145145
logging.log("Unable to create {0}.zip".format(name), level=xbmc.LOGERROR)
146146
if self.dialog.yesno(CONFIG.ADDONTITLE,
@@ -255,11 +255,11 @@ def backup_build(self, name=""):
255255
tools.convert_special(CONFIG.HOME, True)
256256
extractsize = 0
257257
try:
258-
zipf = zipfile.ZipFile(xbmc.translatePath(zipname), mode='w')
258+
zipf = zipfile.ZipFile(xbmc.translatePath(zipname), mode='w', allowZip64=True)
259259
except:
260260
try:
261261
tempzipname = os.path.join(CONFIG.PACKAGES, '{0}.zip'.format(name))
262-
zipf = zipfile.ZipFile(tempzipname, mode='w')
262+
zipf = zipfile.ZipFile(tempzipname, mode='w', allowZip64=True)
263263
except:
264264
logging.log("Unable to create {0}.zip".format(name), level=xbmc.LOGERROR)
265265
if self.dialog.yesno(CONFIG.ADDONTITLE,
@@ -515,11 +515,11 @@ def backup_gui(self, name=""):
515515
guizipname = os.path.join(CONFIG.MYBUILDS, '{0}_guisettings.zip'.format(guiname))
516516
if os.path.exists(CONFIG.GUISETTINGS):
517517
try:
518-
zipf = zipfile.ZipFile(guizipname, mode='w')
518+
zipf = zipfile.ZipFile(guizipname, mode='w', allowZip64=True)
519519
except:
520520
try:
521521
tempguizipname = os.path.join(CONFIG.PACKAGES, '{0}_guisettings.zip'.format(guiname))
522-
zipf = zipfile.ZipFile(tempguizipname, mode='w')
522+
zipf = zipfile.ZipFile(tempguizipname, mode='w', allowZip64=True)
523523
except:
524524
logging.log("Unable to create {0}_guisettings.zip".format(guiname), level=xbmc.LOGERROR)
525525
if self.dialog.yesno(CONFIG.ADDONTITLE,
@@ -593,11 +593,11 @@ def backup_theme(self, name=""):
593593
tempzipname = ''
594594
zipname = os.path.join(CONFIG.MYBUILDS, '{0}.zip'.format(themename))
595595
try:
596-
zipf = zipfile.ZipFile(zipname, mode='w')
596+
zipf = zipfile.ZipFile(zipname, mode='w', allowZip64=True)
597597
except:
598598
try:
599599
tempzipname = os.path.join(CONFIG.PACKAGES, '{0}.zip'.format(themename))
600-
zipf = zipfile.ZipFile(tempzipname, mode='w')
600+
zipf = zipfile.ZipFile(tempzipname, mode='w', allowZip64=True)
601601
except:
602602
logging.log("Unable to create {0}.zip".format(themename), level=xbmc.LOGERROR)
603603
if self.dialog.yesno(CONFIG.ADDONTITLE,
@@ -801,11 +801,11 @@ def backup_addon_data(self, name=""):
801801
tempzipname = ''
802802
zipname = os.path.join(CONFIG.MYBUILDS, name)
803803
try:
804-
zipf = zipfile.ZipFile(xbmc.translatePath(zipname), mode='w')
804+
zipf = zipfile.ZipFile(xbmc.translatePath(zipname), mode='w', allowZip64=True)
805805
except:
806806
try:
807807
tempzipname = os.path.join(CONFIG.PACKAGES, '{0}.zip'.format(name))
808-
zipf = zipfile.ZipFile(tempzipname, mode='w')
808+
zipf = zipfile.ZipFile(tempzipname, mode='w', allowZip64=True)
809809
except:
810810
logging.log("Unable to create {0}_addondata.zip".format(name), level=xbmc.LOGERROR)
811811
if self.dialog.yesno(CONFIG.ADDONTITLE,

resources/libs/db.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -452,7 +452,7 @@ def fix_update():
452452

453453

454454
def grab_addons(path):
455-
zfile = zipfile.ZipFile(path)
455+
zfile = zipfile.ZipFile(path, allowZip64=True)
456456
addonlist = []
457457
for item in zfile.infolist():
458458
if str(item.filename).find('addon.xml') == -1:

resources/libs/extract.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ def all_with_progress(_in, _out, dp, ignore, title):
4949
excludes = []
5050

5151
try:
52-
zin = zipfile.ZipFile(_in, 'r')
52+
zin = zipfile.ZipFile(_in, 'r', allowZip64=True)
5353
except Exception as e:
5454
errors += 1
5555
error += '%s\n' % e

resources/libs/restore.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ def _from_file(self, file, loc):
112112

113113
if not self.external:
114114
try:
115-
zipfile.ZipFile(file, 'r')
115+
zipfile.ZipFile(file, 'r', allowZip64=True)
116116
except zipfile.BadZipFile as e:
117117
from resources.libs.common import logging
118118
logging.log(e, level=xbmc.LOGERROR)
@@ -121,7 +121,7 @@ def _from_file(self, file, loc):
121121
xbmcvfs.copy(file, packages)
122122
file = xbmc.translatePath(packages)
123123
self.progress_dialog.update(0, '', 'Copying file to packages: Complete')
124-
zipfile.ZipFile(file, 'r')
124+
zipfile.ZipFile(file, 'r', allowZip64=True)
125125
else:
126126
from resources.libs.downloader import Downloader
127127
Downloader().download(file, packages)

resources/libs/save.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ def export_save_data():
200200
source = xbmc.translatePath(source)
201201
tempzip = os.path.join(source, 'SaveData.zip')
202202
superfold = os.path.join(CONFIG.ADDON_DATA, 'plugin.program.super.favourites')
203-
zipf = zipfile.ZipFile(tempzip, mode='w')
203+
zipf = zipfile.ZipFile(tempzip, mode='w', allowZip64=True)
204204
for fold in dir:
205205
path = os.path.join(CONFIG.PLUGIN_DATA, fold)
206206
if os.path.exists(path):

resources/libs/test.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ def str_test(teststr):
3838
def test_theme(path):
3939
from resources.libs.common import logging
4040

41-
zfile = zipfile.ZipFile(path)
41+
zfile = zipfile.ZipFile(path, allowZip64=True)
4242
for item in zfile.infolist():
4343
logging.log(str(item.filename))
4444
if '/settings.xml' in item.filename:
@@ -47,7 +47,7 @@ def test_theme(path):
4747

4848

4949
def test_gui(path):
50-
zfile = zipfile.ZipFile(path)
50+
zfile = zipfile.ZipFile(path, allowZip64=True)
5151
for item in zfile.infolist():
5252
if '/guisettings.xml' in item.filename:
5353
return True

0 commit comments

Comments
 (0)