custominstall: look for bin/save3ds_fuse next to executable if sys.frozen exists (from cx_Freeze)

This commit is contained in:
Ian Burgwin
2020-07-19 22:38:39 -07:00
parent 56747d36eb
commit 53fd45790f

View File

@@ -10,7 +10,7 @@ from os.path import dirname, join, isfile
from random import randint from random import randint
from hashlib import sha256 from hashlib import sha256
from locale import getpreferredencoding from locale import getpreferredencoding
from sys import exc_info, platform import sys
from tempfile import TemporaryDirectory from tempfile import TemporaryDirectory
from traceback import format_exception from traceback import format_exception
from typing import BinaryIO, TYPE_CHECKING from typing import BinaryIO, TYPE_CHECKING
@@ -162,8 +162,12 @@ class CustomInstall:
self.event.update_percentage((total_read / size) * 100, total_read / 1048576, size / 1048576) self.event.update_percentage((total_read / size) * 100, total_read / 1048576, size / 1048576)
def start(self, continue_on_fail=True): def start(self, continue_on_fail=True):
save3ds_fuse_path = join(script_dir, 'bin', platform, 'save3ds_fuse') using_cxfreeze = getattr(sys, 'frozen', False)
if platform == 'win32': if using_cxfreeze:
save3ds_fuse_path = join(script_dir, 'bin', sys.platform, 'save3ds_fuse')
else:
save3ds_fuse_path = join(dirname(sys.executable), 'bin', 'save3ds_fuse')
if sys.platform == 'win32':
save3ds_fuse_path += '.exe' save3ds_fuse_path += '.exe'
if not isfile(save3ds_fuse_path): if not isfile(save3ds_fuse_path):
self.log("Couldn't find " + save3ds_fuse_path, 2) self.log("Couldn't find " + save3ds_fuse_path, 2)
@@ -197,7 +201,7 @@ class CustomInstall:
try: try:
cia = CIAReader(c) cia = CIAReader(c)
except Exception as e: except Exception as e:
self.event.on_error(exc_info()) self.event.on_error(sys.exc_info())
if continue_on_fail: if continue_on_fail:
continue continue
else: else: