about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPaweł Jastrzębski <pawelj@iosphe.re>2019-10-21 17:27:38 +0200
committerGitHub <noreply@github.com>2019-10-21 17:27:38 +0200
commit515b83637fd0e531b1b21cac39a7fa42ed0a3f27 (patch)
treed043ef19bd911fa7e02fddb6e341af5f68d95d65
parentFixed Windows autoupdater (diff)
parentUpdate build scripts (diff)
downloadkcc-515b83637fd0e531b1b21cac39a7fa42ed0a3f27.tar.gz
kcc-515b83637fd0e531b1b21cac39a7fa42ed0a3f27.tar.bz2
kcc-515b83637fd0e531b1b21cac39a7fa42ed0a3f27.zip
Merge pull request #326 from ciromattia/dev
5.5.2
-rw-r--r--.gitignore15
-rw-r--r--.travis.yml21
-rw-r--r--CHANGELOG.md4
-rw-r--r--README.md8
-rw-r--r--appveyor.yml17
-rw-r--r--kcc.iss2
-rwxr-xr-xkcc.py15
-rw-r--r--kindlecomicconverter/KCC_gui.py9
-rw-r--r--kindlecomicconverter/__init__.py2
-rw-r--r--kindlecomicconverter/dualmetafix.py8
-rwxr-xr-xkindlecomicconverter/image.py4
-rw-r--r--kindlecomicconverter/shared.py2
-rw-r--r--other/osx/Info.plist14
-rw-r--r--other/osx/sentry.py.encbin176 -> 0 bytes
-rw-r--r--other/windows/sentry.py.enc3
-rwxr-xr-xsetup.py1
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|\9KWfHLY7^@m*Ym_z`3WSD{"a@>;}\,D·!yX薁~~Y_xd BT
-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 = []