diff --git a/kcc.py b/kcc.py index 3c18461..eb00c59 100755 --- a/kcc.py +++ b/kcc.py @@ -34,13 +34,13 @@ if sys.platform.startswith('darwin'): 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 a6ba37b..1a307a2 100644 --- a/kindlecomicconverter/KCC_gui.py +++ b/kindlecomicconverter/KCC_gui.py @@ -757,7 +757,7 @@ class KCCGUI(KCC_ui.Ui_mainWindow): 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 @@ class KCCGUI(KCC_ui.Ui_mainWindow): 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/comicarchive.py b/kindlecomicconverter/comicarchive.py index 690b418..596d865 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 @@ class ComicArchive: 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 e0d826b..0000000 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 84d5285..0000000 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 969c499..0000000 --- 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 bc21ea1..0000000 Binary files a/other/osx/Rar.so and /dev/null differ diff --git a/setup.py b/setup.py index 51259fd..17d5cb8 100644 --- a/setup.py +++ b/setup.py @@ -17,8 +17,6 @@ import setuptools 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 @@ class BuildBinaryCommand(distutils.cmd.Command): 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)