diff --git a/kcc.py b/kcc.py index 3c18461d..eb00c59c 100755 --- a/kcc.py +++ b/kcc.py @@ -34,13 +34,13 @@ if getattr(sys, 'frozen', False): os.environ['PATH'] += os.pathsep + os.pathsep.join(mac_paths + [ - os.path.dirname(os.path.abspath(sys.executable)) + '/../Resources', + '/opt/homebrew/bin', '/usr/local/bin', '/usr/bin', '/bin', ] ) - os.chdir(os.path.dirname(os.path.abspath(sys.executable)) + '/../Resources') + os.chdir(os.path.dirname(os.path.abspath(sys.executable))) else: os.environ['PATH'] += os.pathsep + os.pathsep.join(mac_paths) os.chdir(os.path.dirname(os.path.abspath(__file__))) diff --git a/kindlecomicconverter/KCC_gui.py b/kindlecomicconverter/KCC_gui.py index a6ba37bf..1a307a28 100644 --- a/kindlecomicconverter/KCC_gui.py +++ b/kindlecomicconverter/KCC_gui.py @@ -757,7 +757,7 @@ def display_kindlegen_missing(self): if sys.platform.startswith('win'): self.addMessage('Download it and place EXE in KCC directory.', 'error') elif sys.platform.startswith('darwin'): - self.addMessage('' + self.addMessage('' 'Install the kindle-comic-creator cask using Homebrew to enable MOBI conversion', 'error') else: @@ -1046,7 +1046,7 @@ def __init__(self, kccapp, kccwindow): self.sevenzip = True else: self.sevenzip = False - self.addMessage('Install 7z and add to PATH!!' + self.addMessage('Cannot find 7z!' ' CBZ/CBR/ZIP/etc processing disabled.', 'warning') self.detectKindleGen(True) diff --git a/kindlecomicconverter/__init__.py b/kindlecomicconverter/__init__.py index 72dcee06..b50ed630 100644 --- a/kindlecomicconverter/__init__.py +++ b/kindlecomicconverter/__init__.py @@ -1,4 +1,4 @@ -__version__ = '5.6.2' +__version__ = '5.6.3' __license__ = 'ISC' __copyright__ = '2012-2022, Ciro Mattia Gonano , Pawel Jastrzebski , darodi' __docformat__ = 'restructuredtext en' diff --git a/kindlecomicconverter/comicarchive.py b/kindlecomicconverter/comicarchive.py index 690b418b..596d865d 100644 --- a/kindlecomicconverter/comicarchive.py +++ b/kindlecomicconverter/comicarchive.py @@ -19,6 +19,8 @@ # import os +import platform +import subprocess import distro from psutil import Popen from shutil import move @@ -65,6 +67,11 @@ def extract(self, targetdir): process.communicate() if process.returncode != 0: raise OSError('Failed to extract archive.') + elif process.returncode != 0 and platform.system() == 'Darwin': + process = subprocess.run(f"unar '{self.filepath}' -f -o '{targetdir}'", + stdout=PIPE, stderr=STDOUT, stdin=PIPE, shell=True) + if process.returncode != 0: + raise Exception(process.stdout.decode("utf-8")) elif process.returncode != 0: raise OSError('Failed to extract archive. Check if p7zip-rar is installed.') tdir = os.listdir(targetdir) diff --git a/other/osx/7z b/other/osx/7z deleted file mode 100755 index e0d826b8..00000000 Binary files a/other/osx/7z and /dev/null differ diff --git a/other/osx/7z.so b/other/osx/7z.so deleted file mode 100644 index 84d52856..00000000 Binary files a/other/osx/7z.so and /dev/null differ diff --git a/other/osx/Info.plist b/other/osx/Info.plist deleted file mode 100644 index 969c4995..00000000 --- a/other/osx/Info.plist +++ /dev/null @@ -1,72 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleDisplayName - Kindle Comic Converter - CFBundleDocumentTypes - - - CFBundleTypeExtensions - - cbz - cbr - cb7 - zip - rar - 7z - pdf - - CFBundleTypeIconFile - comic2ebook.icns - CFBundleTypeName - Comics - CFBundleTypeRole - Editor - - - CFBundleExecutable - MacOS/Kindle Comic Converter - CFBundleGetInfoString - KindleComicConverter 5.5.2, written 2012-2019 by Ciro Mattia Gonano and Pawel Jastrzebski - CFBundleIconFile - comic2ebook.icns - CFBundleIdentifier - com.kindlecomicconverter.KindleComicConverter - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - Kindle Comic Converter - CFBundlePackageType - APPL - CFBundleShortVersionString - 5.5.2 - CFBundleSignature - ???? - CFBundleVersion - 5.5.2 - LSEnvironment - - PATH - ./../Resources:/Applications/Kindle Comic Creator/Kindle Comic Creator.app/Contents/MacOS:/usr/local/bin:/usr/bin:/bin - - LSHasLocalizedDisplayName - - LSMinimumSystemVersion - 10.14.0 - NSAppleScriptEnabled - - NSHumanReadableCopyright - ISC License (ISCL) - NSMainNibFile - MainMenu - NSPrincipalClass - NSApplication - NSRequiresAquaSystemAppearance - false - NSInitialToolTipDelay - 1000 - - diff --git a/other/osx/Rar.so b/other/osx/Rar.so deleted file mode 100644 index bc21ea1f..00000000 Binary files a/other/osx/Rar.so and /dev/null differ diff --git a/setup.py b/setup.py index 51259fd5..17d5cb81 100644 --- a/setup.py +++ b/setup.py @@ -17,8 +17,6 @@ import distutils.cmd from kindlecomicconverter import __version__ -OSX_INFO_PLIST = "other/osx/Info.plist" - NAME = 'KindleComicConverter' MAIN = 'kcc.py' VERSION = __version__ @@ -40,18 +38,11 @@ def run(self): VERSION = __version__ if sys.platform == 'darwin': - with open(OSX_INFO_PLIST, 'r') as file: - filedata = file.read() - filedata = filedata.replace('5.5.2', VERSION) - with open(OSX_INFO_PLIST, 'w') as file: - file.write(filedata) - os.system('pyinstaller -y -F -i icons/comic2ebook.icns -n "Kindle Comic Converter" -w -s kcc.py') os.makedirs('dist/Kindle Comic Converter.app/Contents/Resources/Codecs') shutil.copy('other/osx/7z', 'dist/Kindle Comic Converter.app/Contents/Resources') shutil.copy('other/osx/7z.so', 'dist/Kindle Comic Converter.app/Contents/Resources') shutil.copy('other/osx/Rar.so', 'dist/Kindle Comic Converter.app/Contents/Resources/Codecs') - shutil.copy('other/osx/Info.plist', 'dist/Kindle Comic Converter.app/Contents') shutil.copy('LICENSE.txt', 'dist/Kindle Comic Converter.app/Contents/Resources') shutil.copy('other/windows/Additional-LICENSE.txt', 'dist/Kindle Comic Converter.app/Contents/Resources') os.chmod('dist/Kindle Comic Converter.app/Contents/Resources/7z', 0o777)