mirror of
https://github.com/ciromattia/kcc
synced 2025-12-11 00:36:33 +00:00
95 lines
3.5 KiB
Python
Executable File
95 lines
3.5 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
#
|
|
# Copyright (c) 2012-2014 Ciro Mattia Gonano <ciromattia@gmail.com>
|
|
# Copyright (c) 2013-2019 Pawel Jastrzebski <pawelj@iosphe.re>
|
|
#
|
|
# Permission to use, copy, modify, and/or distribute this software for
|
|
# any purpose with or without fee is hereby granted, provided that the
|
|
# above copyright notice and this permission notice appear in all
|
|
# copies.
|
|
#
|
|
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
|
|
# WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
|
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
|
|
# AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
|
|
# DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA
|
|
# OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
|
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
# PERFORMANCE OF THIS SOFTWARE.
|
|
|
|
import os
|
|
import sys
|
|
import platform
|
|
|
|
from pathlib import Path
|
|
|
|
if sys.version_info < (3, 8, 0):
|
|
print('ERROR: This is a Python 3.8+ script!')
|
|
sys.exit(1)
|
|
|
|
def modify_path():
|
|
if platform.system() == 'Darwin':
|
|
mac_paths = [
|
|
'/Applications/Kindle Comic Creator/Kindle Comic Creator.app/Contents/MacOS',
|
|
'/Applications/Kindle Previewer 3.app/Contents/lib/fc/bin/',
|
|
]
|
|
if getattr(sys, 'frozen', False):
|
|
os.environ['PATH'] += os.pathsep + os.pathsep.join(mac_paths +
|
|
[
|
|
'/opt/homebrew/bin',
|
|
'/usr/local/bin',
|
|
'/usr/bin',
|
|
'/bin',
|
|
]
|
|
)
|
|
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__)))
|
|
|
|
elif platform.system() == 'Linux':
|
|
if getattr(sys, 'frozen', False):
|
|
os.environ['PATH'] += os.pathsep + os.pathsep.join(
|
|
[
|
|
str(Path.home() / ".local" / "bin"),
|
|
'/opt/homebrew/bin',
|
|
'/usr/local/bin',
|
|
'/usr/bin',
|
|
'/bin',
|
|
]
|
|
)
|
|
os.chdir(os.path.dirname(os.path.abspath(sys.executable)))
|
|
else:
|
|
os.chdir(os.path.dirname(os.path.abspath(__file__)))
|
|
|
|
elif platform.system() == 'Windows':
|
|
win_paths = [
|
|
os.path.expandvars('%LOCALAPPDATA%\\Amazon\\KC2'),
|
|
os.path.expandvars('%LOCALAPPDATA%\\Amazon\\Kindle Previewer 3\\lib\\fc\\bin\\'),
|
|
os.path.expandvars('%UserProfile%\\Kindle Previewer 3\\lib\\fc\\bin\\'),
|
|
'C:\\Apps\\Kindle Previewer 3\\lib\\fc\\bin',
|
|
'D:\\Apps\\Kindle Previewer 3\\lib\\fc\\bin',
|
|
'E:\\Apps\\Kindle Previewer 3\\lib\\fc\\bin',
|
|
'C:\\Program Files\\7-Zip',
|
|
'D:\\Program Files\\7-Zip',
|
|
'E:\\Program Files\\7-Zip',
|
|
]
|
|
if getattr(sys, 'frozen', False):
|
|
os.environ['PATH'] += os.pathsep + os.pathsep.join(win_paths)
|
|
os.chdir(os.path.dirname(os.path.abspath(sys.executable)))
|
|
else:
|
|
os.environ['PATH'] += os.pathsep + os.pathsep.join(win_paths)
|
|
os.chdir(os.path.dirname(os.path.abspath(__file__)))
|
|
|
|
|
|
from multiprocessing import freeze_support, set_start_method
|
|
from kindlecomicconverter.startup import start
|
|
|
|
if __name__ == "__main__":
|
|
modify_path()
|
|
set_start_method('spawn')
|
|
freeze_support()
|
|
start()
|
|
|