diff options
author | Paweł Jastrzębski <pawelj@iosphe.re> | 2019-10-21 17:27:38 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-21 17:27:38 +0200 |
commit | 515b83637fd0e531b1b21cac39a7fa42ed0a3f27 (patch) | |
tree | d043ef19bd911fa7e02fddb6e341af5f68d95d65 | |
parent | Fixed Windows autoupdater (diff) | |
parent | Update build scripts (diff) | |
download | kcc-515b83637fd0e531b1b21cac39a7fa42ed0a3f27.tar.gz kcc-515b83637fd0e531b1b21cac39a7fa42ed0a3f27.tar.bz2 kcc-515b83637fd0e531b1b21cac39a7fa42ed0a3f27.zip |
Merge pull request #326 from ciromattia/dev
5.5.2
-rw-r--r-- | .gitignore | 15 | ||||
-rw-r--r-- | .travis.yml | 21 | ||||
-rw-r--r-- | CHANGELOG.md | 4 | ||||
-rw-r--r-- | README.md | 8 | ||||
-rw-r--r-- | appveyor.yml | 17 | ||||
-rw-r--r-- | kcc.iss | 2 | ||||
-rwxr-xr-x | kcc.py | 15 | ||||
-rw-r--r-- | kindlecomicconverter/KCC_gui.py | 9 | ||||
-rw-r--r-- | kindlecomicconverter/__init__.py | 2 | ||||
-rw-r--r-- | kindlecomicconverter/dualmetafix.py | 8 | ||||
-rwxr-xr-x | kindlecomicconverter/image.py | 4 | ||||
-rw-r--r-- | kindlecomicconverter/shared.py | 2 | ||||
-rw-r--r-- | other/osx/Info.plist | 14 | ||||
-rw-r--r-- | other/osx/sentry.py.enc | bin | 176 -> 0 bytes | |||
-rw-r--r-- | other/windows/sentry.py.enc | 3 | ||||
-rwxr-xr-x | setup.py | 1 |
16 files changed, 52 insertions, 73 deletions
diff --git a/.gitignore b/.gitignore index 6877d7a..3e74b4d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,15 +1,10 @@ *.pyc -*.cbz -*.cbr -*.spec -.idea -.DS_Store -.python-version -Thumbs.db -dist -Output -kindlegen* +Pipfile +Pipfile.lock setup.bat kindlecomicconverter/sentry.py +other/windows/kindlegen.exe +dist/ build/ KindleComicConverter.egg-info/ +.idea/ \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 27745c0..0431598 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,16 +2,10 @@ matrix: include: - os: osx language: generic - osx_image: xcode9.2 + osx_image: xcode11.1 before_install: -- brew update -- brew upgrade python3 -- brew uninstall node -- travis_wait 30 brew install node@6 -- brew link node@6 --force --overwrite - pip3 install --upgrade pip setuptools wheel -- openssl aes-256-cbc -K $encrypted_a95564d8ff0d_key -iv $encrypted_a95564d8ff0d_iv -in other/osx/sentry.py.enc -out kindlecomicconverter/sentry.py -d install: - pip3 install -r requirements.txt @@ -25,13 +19,12 @@ before_deploy: - rm -r dist/!(*.deb|*.dmg) deploy: - provider: s3 - skip_cleanup: true - access_key_id: AKIAIQNL5R4FI4C4NJYQ + provider: gcs + access_key_id: GOOG1EC62457RKUYFR2TIZUWV4EFSV2EP5LVLPPFXUAKADWJFDYPFW63BQSLA secret_access_key: - secure: X66hYplxB4QSueljwvDfamNH/MQmHjo3mCofBcaTHAr7n2fp+yd2NzD2yy9h8NbsL0LWwx9wtJa/jpkIE02ZDfi9NrMLvKKFazzdpiyTMN5Yh85lHHyD1XIOCZRd4igaZ+O8975tJAEaEOPS+PE9XGZcRBh+y/eSJ+fMEgohaJ1MtDFbQR7X1cEw3iqbjrV2rlghZNCk/9mZEfObzAEjQiSDpv5G0IuIPRvYg/BgZt8chHVAe03B6oqcBa7uCBCTlfHIiNh1MWtP0B3NNBq3dcu9QHOFri1YqoZKuaPVCf6TFQL/NW5dFihegev2t9IwFyaBxytiT8fBkgQhP0VX8cuCwBAfnQGIogAu0eLSPp+E6dB/7Cpt2GDCk39+As8WKqt9hCRHmrvYhPA1Mq9QyEgKy/TKKKfDby3qVTIqYOQYpuQ1B7sIU651L5A+hBvZ1dqWIUz25h0zqjjeSFrcfNnf1e4tkk0QJvvnKqz0xsVaJxA2p07VJMRn8SlZQIJ2GEbMDeB5jxYtf5JzXywChP9adlPNjLna9G8ScnGSU1f7ZhsBQUEgY5jBlnX1lveyl3DUe6NP+qOTyljLWYwjx3AF4Zg10LYSecRS6hnqAUrGRmibDCIYclUzlJkVyjKGJ9uEyrUiCp0P0IsAzE1XhPVAWEyGUcWWGJG+jgmohSk= + secure: sxYjeho7U3im0Ezf6cz6TjYDiLvf0kAM2ETQHYoFNbD1VVvhJJyymDCnPH80zpFKmhc1MWTB6ndwsrPfcyZDLR2meSdWGPjZfFPY3RcrfImndKi7ln+mYQDBQ7W1lGit4YcH3Ju7LHceaTbRA7fVTX8pWKOcbXL2oM+lQxTJHH32+crVma+ChhbjzTWsSLRoakt3Nhiveec5p/qSW7AFe4Zq+b3C85IgwjSJI/xVwzaWrs6p915h1zZi7KL7YCMIxfQFrvRPFR2KTbh/DoLCCrqfbD4qh0PVy1li51Ac3hd/u3foiNnTNchzgE3Nv/nbKmtFU6huuLNgzkQGuLA+yn7mKYzBwA3ZmFgoimdH9+yRCMkZ8B5VHpvfN1hgpJcyEl1T98Kv4cdtRYNB4w9iAMy1qSVxhjeI+2rjuWGoXro0lU6L4LIRCOruY3AuLCAKG8Qw5Ak9ksmIKBhZ9soxpoIwu/TYDUQkFj29IrUQucg9TEp7uAoxu8/7EHxB7hWnBRaBAAQbMuIRg7yysT3FT0Os6SB0t9+RBsVMSPuIti9JJZ2Lu0uRI1+Se+g7ItzYtJoPhBJAzAa+J9OONj0RNj2z8Vq2oIBhH4z6b6zTRMVroos3cdfYl5qIKs9SQ7rmeHoPRROcqpCznsUZ/ESa4f2MewFU/7AYcEnCesZV4xg= bucket: kcc-deploy - region: eu-central-1 - local_dir: dist + local-dir: dist + skip_cleanup: true on: - repo: AcidWeb/kcc + repo: AcidWeb/KCC diff --git a/CHANGELOG.md b/CHANGELOG.md index 37a65b7..de4f5b8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,8 @@ # CHANGELOG +#### 5.5.2: +* Fixed KindleGen detection on macOS 10.15 +* Fixed multiple smaller issues + #### 5.5.1: * Fixes some stability issues diff --git a/README.md b/README.md index 32836a4..7bdb90a 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ If you find **KCC** valuable you can consider donating to the authors: ## BINARY RELEASES You can find the latest released binary at the following links: - **[Windows](http://kcc.iosphe.re/Windows/) (64-bit only)** -- **[macOS](http://kcc.iosphe.re/OSX/) (10.12+)** +- **[macOS](http://kcc.iosphe.re/OSX/) (10.14+)** - **Linux:** Currently unavailable. ## PYPI @@ -43,7 +43,7 @@ Following software is required to run Linux version of **KCC** and/or bare sourc - [PyQt5](https://pypi.python.org/pypi/PyQt5) 5.6.0+ - [Pillow](https://pypi.python.org/pypi/Pillow/) 4.0.0+ - [psutil](https://pypi.python.org/pypi/psutil) 5.0.0+ -- [python-slugify](https://pypi.python.org/pypi/python-slugify) 1.2.1+ +- [python-slugify](https://pypi.python.org/pypi/python-slugify) 1.2.1+, <3.0.0 - [raven](https://pypi.python.org/pypi/raven) 6.0.0+ On Debian based distributions these two commands should install all needed dependencies: @@ -160,7 +160,7 @@ The app relies and includes the following scripts: - Icon is by **Nikolay Verin** ([http://ncrow.deviantart.com/](http://ncrow.deviantart.com/)) and released under [CC BY-NC-SA 3.0](http://creativecommons.org/licenses/by-nc-sa/3.0/) License. ## SAMPLE FILES CREATED BY KCC -* [Kindle Oasis 2](http://kcc.iosphe.re/Samples/Ubunchu!-KO.mobi) +* [Kindle Oasis 2 / 3](http://kcc.iosphe.re/Samples/Ubunchu!-KO.mobi) * [Kindle Paperwhite 3 / 4 / Voyage / Oasis](http://kcc.iosphe.re/Samples/Ubunchu!-KV.mobi) * [Kindle Paperwhite 1 / 2](http://kcc.iosphe.re/Samples/Ubunchu!-KPW.mobi) * [Kindle](http://kcc.iosphe.re/Samples/Ubunchu!-K578.mobi) @@ -173,7 +173,7 @@ The app relies and includes the following scripts: ## PRIVACY **KCC** is initiating internet connections in two cases: * During startup - Version check. -* When error occurs - Automatic reporting on Windows and MacOS. +* When error occurs - Automatic reporting on Windows and macOS. ## KNOWN ISSUES Please check [wiki page](https://github.com/ciromattia/kcc/wiki/Known-issues). diff --git a/appveyor.yml b/appveyor.yml index b603c3c..b6bb74b 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -2,24 +2,13 @@ environment: PYTHON: "C:\\Python37-x64" install: - - set PATH="%PYTHON%\\Scripts";"C:\\Program Files (x86)\\Inno Setup 5";%PATH% + - set PATH="%PYTHON%\\Scripts";%PATH% - "%PYTHON%\\python.exe -m pip install --upgrade pip setuptools wheel" - "%PYTHON%\\python.exe -m pip install -r requirements.txt" - "%PYTHON%\\python.exe -m pip install certifi https://github.com/pyinstaller/pyinstaller/archive/develop.zip" - - nuget install secure-file -ExcludeVersion - - secure-file\tools\secure-file -decrypt other\windows\sentry.py.enc -out kindlecomicconverter\sentry.py -secret %ENCRYPTION% build_script: - "%PYTHON%\\python.exe setup.py build_binary" -after_build: - - ps: Get-ChildItem .\dist\KCC* | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name } - -deploy: - provider: S3 - access_key_id: - secure: pWfyU8wtAHt354mBILwM41TemOjb+My9n3CRMnrpLzI= - secret_access_key: - secure: G0Xpxe355LMqV3s8v+TsdJYdmhFoKKA+mxK37Tlu8yNwKXKJgcnY7pcFKSdX5xS5 - bucket: kcc-deploy - region: eu-central-1 +artifacts: + - path: dist\KCC* diff --git a/kcc.iss b/kcc.iss index 699b17a..caae98d 100644 --- a/kcc.iss +++ b/kcc.iss @@ -1,5 +1,5 @@ #define MyAppName "Kindle Comic Converter" -#define MyAppVersion "5.5.1" +#define MyAppVersion "5.5.2" #define MyAppPublisher "Ciro Mattia Gonano, Paweł Jastrzębski" #define MyAppURL "http://kcc.iosphe.re/" #define MyAppExeName "KCC.exe" diff --git a/kcc.py b/kcc.py index b334561..feb9e2e 100755 --- a/kcc.py +++ b/kcc.py @@ -28,10 +28,9 @@ import os if sys.platform.startswith('darwin'): if getattr(sys, 'frozen', False): os.environ['PATH'] = os.path.dirname(os.path.abspath(sys.executable)) + \ - '/../Resources:/usr/local/bin:/usr/bin:/bin' + '/../Resources:/Applications/Kindle Comic Creator/Kindle Comic Creator.app/Contents/' \ + 'MacOS:/usr/local/bin:/usr/bin:/bin' os.chdir(os.path.dirname(os.path.abspath(sys.executable)) + '/../Resources') - os.system('defaults write com.kindlecomicconverter.KindleComicConverter ApplePersistenceIgnoreState YES') - os.system('defaults write com.kindlecomicconverter.KindleComicConverter NSInitialToolTipDelay -int 1000') else: os.chdir(os.path.dirname(os.path.abspath(__file__))) elif sys.platform.startswith('win'): @@ -41,11 +40,11 @@ elif sys.platform.startswith('win'): os.environ['PATH'] = os.path.dirname(os.path.abspath(__file__)) + '/other/windows/;' + os.environ['PATH'] os.chdir(os.path.dirname(os.path.abspath(__file__))) # Load additional Sentry configuration -if getattr(sys, 'frozen', False): - try: - import kindlecomicconverter.sentry - except ImportError: - pass +# if getattr(sys, 'frozen', False): +# try: +# import kindlecomicconverter.sentry +# except ImportError: +# pass from multiprocessing import freeze_support, set_start_method from kindlecomicconverter.startup import start diff --git a/kindlecomicconverter/KCC_gui.py b/kindlecomicconverter/KCC_gui.py index 7690d80..50e91dd 100644 --- a/kindlecomicconverter/KCC_gui.py +++ b/kindlecomicconverter/KCC_gui.py @@ -857,7 +857,8 @@ 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('Install it using <a href="http://brew.sh/">Brew</a>.', 'error') + self.addMessage('Install it using <a href="http://brew.sh/">Brew</a>: <i>brew cask install kindle-c' + 'omic-creator</i>', 'error') else: self.addMessage('Download it and place executable in /usr/local/bin directory.', 'error') @@ -909,8 +910,8 @@ class KCCGUI(KCC_ui.Ui_mainWindow): MW.resize(500, 500) self.profiles = { - "Kindle Oasis 2": {'PVOptions': True, 'ForceExpert': False, 'DefaultFormat': 0, - 'DefaultUpscale': True, 'Label': 'KO'}, + "Kindle Oasis 2/3": {'PVOptions': True, 'ForceExpert': False, 'DefaultFormat': 0, + 'DefaultUpscale': True, 'Label': 'KO'}, "Kindle Oasis": {'PVOptions': True, 'ForceExpert': False, 'DefaultFormat': 0, 'DefaultUpscale': True, 'Label': 'KV'}, "Kindle Voyage": {'PVOptions': True, 'ForceExpert': False, 'DefaultFormat': 0, @@ -951,7 +952,7 @@ class KCCGUI(KCC_ui.Ui_mainWindow): 'DefaultUpscale': False, 'Label': 'K34'}, } profilesGUI = [ - "Kindle Oasis 2", + "Kindle Oasis 2/3", "Kindle Oasis", "Kindle Voyage", "Kindle PW 3/4", diff --git a/kindlecomicconverter/__init__.py b/kindlecomicconverter/__init__.py index c0f1b84..6ad0c10 100644 --- a/kindlecomicconverter/__init__.py +++ b/kindlecomicconverter/__init__.py @@ -1,4 +1,4 @@ -__version__ = '5.5.1' +__version__ = '5.5.2' __license__ = 'ISC' __copyright__ = '2012-2019, Ciro Mattia Gonano <ciromattia@gmail.com>, Pawel Jastrzebski <pawelj@iosphe.re>' __docformat__ = 'restructuredtext en' diff --git a/kindlecomicconverter/dualmetafix.py b/kindlecomicconverter/dualmetafix.py index c05dc85..7426f93 100644 --- a/kindlecomicconverter/dualmetafix.py +++ b/kindlecomicconverter/dualmetafix.py @@ -143,14 +143,12 @@ class DualMobiMetaFix: self.datain_rec0 = readsection(self.datain, 0) # in the first mobi header - # add 501 to "EBOK", add 113 as asin, add 504 as asin + # add 501 to "EBOK", add 113 as asin rec0 = self.datain_rec0 rec0 = del_exth(rec0, 501) rec0 = del_exth(rec0, 113) - rec0 = del_exth(rec0, 504) rec0 = add_exth(rec0, 501, b'EBOK') rec0 = add_exth(rec0, 113, asin) - rec0 = add_exth(rec0, 504, asin) replacesection(self.datain, 0, rec0) ver = getint(self.datain_rec0, mobi_version) @@ -172,14 +170,12 @@ class DualMobiMetaFix: self.datain_kfrec0 = readsection(self.datain, datain_kf8) # in the second header - # add 501 to "EBOK", add 113 as asin, add 504 as asin + # add 501 to "EBOK", add 113 as asin rec0 = self.datain_kfrec0 rec0 = del_exth(rec0, 501) rec0 = del_exth(rec0, 113) - rec0 = del_exth(rec0, 504) rec0 = add_exth(rec0, 501, b'EBOK') rec0 = add_exth(rec0, 113, asin) - rec0 = add_exth(rec0, 504, asin) replacesection(self.datain, datain_kf8, rec0) self.datain.flush() diff --git a/kindlecomicconverter/image.py b/kindlecomicconverter/image.py index 118ef3c..35fcfc8 100755 --- a/kindlecomicconverter/image.py +++ b/kindlecomicconverter/image.py @@ -83,7 +83,7 @@ class ProfileData: 'KDX': ("Kindle DX/DXG", (824, 1000), Palette16, 1.8), 'KPW': ("Kindle Paperwhite 1/2", (758, 1024), Palette16, 1.8), 'KV': ("Kindle Paperwhite 3/4/Voyage/Oasis", (1072, 1448), Palette16, 1.8), - 'KO': ("Kindle Oasis 2", (1264, 1680), Palette16, 1.8), + 'KO': ("Kindle Oasis 2/3", (1264, 1680), Palette16, 1.8), 'KoMT': ("Kobo Mini/Touch", (600, 800), Palette16, 1.8), 'KoG': ("Kobo Glo", (768, 1024), Palette16, 1.8), 'KoGHD': ("Kobo Glo HD", (1072, 1448), Palette16, 1.8), @@ -358,7 +358,7 @@ class Cover: try: self.image.save(self.target, "JPEG", optimize=1, quality=85) except IOError: - raise RuntimeError('Failed to process downloaded cover.') + raise RuntimeError('Failed to save cover.') def saveToKindle(self, kindle, asin): self.image = self.image.resize((300, 470), Image.ANTIALIAS) diff --git a/kindlecomicconverter/shared.py b/kindlecomicconverter/shared.py index d2a358f..507873b 100644 --- a/kindlecomicconverter/shared.py +++ b/kindlecomicconverter/shared.py @@ -47,7 +47,7 @@ class HTMLStripper(HTMLParser): def getImageFileName(imgfile): name, ext = os.path.splitext(imgfile) ext = ext.lower() - if name.startswith('.') or ext not in ['.png', '.jpg', '.jpeg', '.gif', '.webp']: + if (name.startswith('.') and len(name) == 1) or ext not in ['.png', '.jpg', '.jpeg', '.gif', '.webp']: return None return [name, ext] diff --git a/other/osx/Info.plist b/other/osx/Info.plist index 54a4f19..969c499 100644 --- a/other/osx/Info.plist +++ b/other/osx/Info.plist @@ -30,7 +30,7 @@ <key>CFBundleExecutable</key> <string>MacOS/Kindle Comic Converter</string> <key>CFBundleGetInfoString</key> - <string>KindleComicConverter 5.5.1, written 2012-2019 by Ciro Mattia Gonano and Pawel Jastrzebski</string> + <string>KindleComicConverter 5.5.2, written 2012-2019 by Ciro Mattia Gonano and Pawel Jastrzebski</string> <key>CFBundleIconFile</key> <string>comic2ebook.icns</string> <key>CFBundleIdentifier</key> @@ -42,20 +42,20 @@ <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleShortVersionString</key> - <string>5.5.1</string> + <string>5.5.2</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> - <string>5.5.1</string> + <string>5.5.2</string> <key>LSEnvironment</key> <dict> <key>PATH</key> - <string>./../Resources:/usr/local/bin:/usr/bin:/bin</string> + <string>./../Resources:/Applications/Kindle Comic Creator/Kindle Comic Creator.app/Contents/MacOS:/usr/local/bin:/usr/bin:/bin</string> </dict> <key>LSHasLocalizedDisplayName</key> <false/> <key>LSMinimumSystemVersion</key> - <string>10.12.0</string> + <string>10.14.0</string> <key>NSAppleScriptEnabled</key> <false/> <key>NSHumanReadableCopyright</key> @@ -64,5 +64,9 @@ <string>MainMenu</string> <key>NSPrincipalClass</key> <string>NSApplication</string> + <key>NSRequiresAquaSystemAppearance</key> + <string>false</string> + <key>NSInitialToolTipDelay</key> + <integer>1000</integer> </dict> </plist> diff --git a/other/osx/sentry.py.enc b/other/osx/sentry.py.enc deleted file mode 100644 index c38a68c..0000000 --- a/other/osx/sentry.py.enc +++ /dev/null Binary files differdiff --git a/other/windows/sentry.py.enc b/other/windows/sentry.py.enc deleted file mode 100644 index 930988b..0000000 --- a/other/windows/sentry.py.enc +++ /dev/null @@ -1,3 +0,0 @@ -d7э|lz6nI_:-!nBCD}fzIe|\9KWfH[YLY7^@m*Ym_z`3WSD{"a@>;}\,D·!yX薁~~Y_xd BT -B𢯣 -u|91u~PaLDjh \ No newline at end of file diff --git a/setup.py b/setup.py index 0868767..b21925d 100755 --- a/setup.py +++ b/setup.py @@ -22,6 +22,7 @@ MAIN = 'kcc.py' VERSION = __version__ +# noinspection PyUnresolvedReferences class BuildBinaryCommand(distutils.cmd.Command): description = 'build binary release' user_options = [] |