Skip to content

Commit aa6ba95

Browse files
committed
Fix issues with exporting old package.json with nwjs >= 0.13.0
1 parent d337820 commit aa6ba95

2 files changed

Lines changed: 46 additions & 13 deletions

File tree

command_line.py

Lines changed: 43 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,8 @@ def save_file_path(self, version, location=None):
180180
versions = re.findall('(\d+)\.(\d+)\.(\d+)', version)[0]
181181

182182
minor = int(versions[1])
183-
if minor >= 12:
183+
major = int(versions[0])
184+
if minor >= 12 or major > 0:
184185
path = path.replace('node-webkit', 'nwjs')
185186

186187
return path
@@ -245,7 +246,8 @@ def get_file_bytes(self, version):
245246
versions = re.findall('(\d+)\.(\d+)\.(\d+)', version)[0]
246247

247248
minor = int(versions[1])
248-
if minor >= 12:
249+
major = int(versions[0])
250+
if minor >= 12 or major > 0:
249251
extract_p = extract_p.replace('node-webkit', 'nwjs')
250252

251253
if self.file_ext == '.gz':
@@ -445,7 +447,8 @@ def download_file_with_error_handling(self):
445447
versions = re.findall('(\d+)\.(\d+)\.(\d+)', version)[0]
446448

447449
minor = int(versions[1])
448-
if minor >= 12:
450+
major = int(versions[0])
451+
if minor >= 12 or major > 0:
449452
path = path.replace('node-webkit', 'nwjs')
450453

451454
try:
@@ -488,10 +491,19 @@ def generate_json(self, global_json=False):
488491

489492
dic = {'webexe_settings': {}}
490493

494+
version = self.selected_version()
495+
versions = re.findall('(\d+)\.(\d+)\.(\d+)', self.selected_version())[0]
496+
major_ver = int(versions[0])
497+
minor_ver = int(versions[1])
498+
491499
if not global_json:
492500
dic.update({'webkit': {}, 'window': {}})
493501
dic.update(self.original_packagejson)
494502
for setting_name, setting in self.settings['app_settings'].items():
503+
if major_ver > 0 or minor_ver >= 13:
504+
dic.pop(setting_name, '')
505+
setting_name = setting_name.replace('-', '_')
506+
495507
if setting.value is not None and setting.value != '':
496508
dic[setting_name] = setting.value
497509
if setting_name == 'keywords':
@@ -500,6 +512,9 @@ def generate_json(self, global_json=False):
500512
dic.pop(setting_name, '')
501513

502514
for setting_name, setting in self.settings['window_settings'].items():
515+
if major_ver > 0 or minor_ver >= 13:
516+
dic['window'].pop(setting_name, '')
517+
setting_name = setting_name.replace('-', '_')
503518
if setting.value is not None and setting.value != '':
504519
if 'height' in setting.name or 'width' in setting.name:
505520
try:
@@ -512,6 +527,9 @@ def generate_json(self, global_json=False):
512527
dic['window'].pop(setting_name, '')
513528

514529
for setting_name, setting in self.settings['webkit_settings'].items():
530+
if major_ver > 0 or minor_ver >= 13:
531+
dic['webkit'].pop(setting_name, '')
532+
setting_name = setting_name.replace('-', '_')
515533
if setting.value is not None and setting.value != '':
516534
dic['webkit'][setting_name] = setting.value
517535
else:
@@ -604,7 +622,9 @@ def selected_version(self):
604622
def extract_files(self):
605623
self.extract_error = None
606624
location = self.get_setting('download_dir').value
625+
607626
version = self.selected_version()
627+
608628
for setting_name, setting in self.settings['export_settings'].items():
609629
save_file_path = setting.save_file_path(version,
610630
location)
@@ -709,7 +729,8 @@ def make_output_dirs(self):
709729
versions = re.findall('(\d+)\.(\d+)\.(\d+)', self.selected_version())[0]
710730

711731
minor_ver = int(versions[1])
712-
if minor_ver >= 12:
732+
major_ver = int(versions[0])
733+
if minor_ver >= 12 or major_ver > 0:
713734
export_dest = export_dest.replace('node-webkit', 'nwjs')
714735

715736
if os.path.exists(export_dest):
@@ -759,10 +780,21 @@ def make_output_dirs(self):
759780
utils.copytree(app_nw_folder, app_nw_res)
760781
else:
761782
utils.copy(zip_file, app_nw_res)
762-
self.create_icns_for_app(utils.path_join(app_path,
763-
'Contents',
764-
'Resources',
765-
'nw.icns'))
783+
784+
if minor_ver >= 13 or major_ver > 0:
785+
self.create_icns_for_app(utils.path_join(app_path,
786+
'Contents',
787+
'Resources',
788+
'app.icns'))
789+
self.create_icns_for_app(utils.path_join(app_path,
790+
'Contents',
791+
'Resources',
792+
'document.icns'))
793+
else:
794+
self.create_icns_for_app(utils.path_join(app_path,
795+
'Contents',
796+
'Resources',
797+
'nw.icns'))
766798

767799
self.progress_text += '.'
768800
else:
@@ -786,7 +818,7 @@ def make_output_dirs(self):
786818
if 'linux' in ex_setting.name:
787819
self.make_desktop_file(dest_binary_path, export_dest)
788820

789-
if minor_ver >= 13:
821+
if minor_ver >= 13 or major_ver > 0:
790822
package_loc = utils.path_join(export_dest, 'package.nw')
791823
if uncompressed:
792824
utils.copytree(app_nw_folder, package_loc)
@@ -1091,7 +1123,8 @@ def download_file(self, path, setting):
10911123
versions = re.findall('v(\d+)\.(\d+)\.(\d+)', path)[0]
10921124

10931125
minor = int(versions[1])
1094-
if minor >= 12:
1126+
major = int(versions[0])
1127+
if minor >= 12 or major > 0:
10951128
path = path.replace('node-webkit', 'nwjs')
10961129

10971130
url = path

icns_info.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -398,10 +398,10 @@
398398

399399
def encode_rle24(data):
400400
dataRun = bytearray(130)
401-
dataInChanSize = len(data)/4
401+
dataInChanSize = int(len(data)/4)
402402
dataTempCount = 0
403403

404-
dataTemp = bytearray(len(data) + len(data)/4)
404+
dataTemp = bytearray(int(len(data) + dataInChanSize))
405405

406406
if len(data) >= 65536:
407407
dataTempCount = 4
@@ -497,7 +497,7 @@ def decode_rle24(data, pixel_count):
497497
data_offset = 0
498498
pixel_offset = 0
499499
i = 0
500-
dest_icon_data = bytearray(pixel_count*4)
500+
dest_icon_data = bytearray(int(pixel_count*4))
501501

502502
if from_bytes(data[:4]) == 0:
503503
data_offset = 4

0 commit comments

Comments
 (0)