diff options
-rw-r--r-- | README.md | 18 | ||||
-rwxr-xr-x | kcc-c2e.py | 2 | ||||
-rwxr-xr-x | kcc-c2p.py | 2 | ||||
-rw-r--r-- | kcc.iss | 2 | ||||
-rwxr-xr-x | kcc.py | 10 | ||||
-rw-r--r-- | kcc/KCC_gui.py | 4 | ||||
-rw-r--r-- | kcc/__init__.py | 2 | ||||
-rwxr-xr-x | kcc/comic2ebook.py | 8 | ||||
-rw-r--r-- | kcc/comic2panel.py | 4 | ||||
-rwxr-xr-x | kcc/image.py | 2 | ||||
-rwxr-xr-x | setup.py | 4 | ||||
-rwxr-xr-x | setup.sh | 2 |
12 files changed, 29 insertions, 31 deletions
diff --git a/README.md b/README.md index 828abd7..9303986 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,13 @@ # KCC -**Kindle Comic Converter** is a Python app to convert comic files or folders to ePub, Panel View MOBI or E-Ink optimized CBZ. +**Kindle Comic Converter** is a Python app to convert comic/manga files or folders to ePub, Panel View MOBI or E-Ink optimized CBZ. It was initally developed for Kindle but since v2.2 it outputs valid ePub 2.0 so _**despite its name, KCC is -actually a comic to EPUB converter that every e-reader owner can happily use**_. +actually a comic/manga to EPUB converter that every e-reader owner can happily use**_. It can also optionally optimize images by applying a number of transformations. ### A word of warning **KCC** _is not_ [Amazon's Kindle Comic Creator](http://www.amazon.com/gp/feature.html?ie=UTF8&docId=1001103761) nor is in any way endorsed by Amazon. -Amazon's tool is for comic publishers and involves a lot of manual effort, while **KCC** is for comic readers. +Amazon's tool is for comic publishers and involves a lot of manual effort, while **KCC** is for comic/manga readers. _KC2_ in no way is a replacement for **KCC** so you can be quite confident we'll going to carry on developing our little monster ;-) ### Issues / new features / donations @@ -36,7 +36,7 @@ You can find the latest released binary at the following links: - CBZ, ZIP - CBR, RAR *(With `unrar` executable)* - CB7, 7Z *(With `7za` executable)* -- PDF *(Extracting only contained JPG images)* +- PDF *(Only extracting JPG images)* ## OPTIONAL REQUIREMENTS - [KindleGen](http://www.amazon.com/gp/feature.html?ie=UTF8&docId=1000765211) v2.9+ in a directory reachable by your _PATH_ or in _KCC_ directory *(For MOBI generation)* @@ -139,7 +139,7 @@ Options: This script born as a cross-platform alternative to `KindleComicParser` by **Dc5e** (published [here](http://www.mobileread.com/forums/showthread.php?t=192783)). -The app relies and includes the following scripts/binaries: +The app relies and includes the following scripts: - `DualMetaFix` script by **K. Hendricks**. Released with GPL-3 License. - `rarfile.py` script © 2005-2011 **Marko Kreen** <markokr@gmail.com>. Released with ISC License. @@ -151,9 +151,6 @@ The app relies and includes the following scripts/binaries: * [Kindle Paperwhite](http://kcc.iosphe.re/Samples/Ubunchu!-KPW.mobi) * [Kindle](http://kcc.iosphe.re/Samples/Ubunchu!-K345.mobi) * [Kindle DX/DXG](http://kcc.iosphe.re/Samples/Ubunchu!-KDX.mobi) -* [Kindle Fire HD](http://kcc.iosphe.re/Samples/Ubunchu!-KFHD.mobi) -* [Kindle Fire HDX](http://kcc.iosphe.re/Samples/Ubunchu!-KFHDX.mobi) -* [Kindle Fire HDX 8.9](http://kcc.iosphe.re/Samples/Ubunchu!-KFHDX8.mobi) * [Kobo Mini/Touch](http://kcc.iosphe.re/Samples/Ubunchu!-KoMT.cbz) * [Kobo Glow](http://kcc.iosphe.re/Samples/Ubunchu!-KoG.cbz) * [Kobo Aura](http://kcc.iosphe.re/Samples/Ubunchu!-KoA.cbz) @@ -374,6 +371,11 @@ The app relies and includes the following scripts/binaries: * Fixed some MCD support bugs * Default output format for Kindle DX is now CBZ +####4.3: +* Added profiles for Kindle Voyage and Kobo Aura H2O +* Added missing features to CLI version +* Other minor bug fixes + ## KNOWN ISSUES Please check [wiki page](https://github.com/ciromattia/kcc/wiki/Known-issues). diff --git a/kcc-c2e.py b/kcc-c2e.py index 466624d..fea68dd 100755 --- a/kcc-c2e.py +++ b/kcc-c2e.py @@ -18,7 +18,7 @@ # TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. -__version__ = '4.2.1' +__version__ = '4.3' __license__ = 'ISC' __copyright__ = '2012-2014, Ciro Mattia Gonano <ciromattia@gmail.com>, Pawel Jastrzebski <pawelj@iosphe.re>' __docformat__ = 'restructuredtext en' diff --git a/kcc-c2p.py b/kcc-c2p.py index 1703413..2112a1c 100755 --- a/kcc-c2p.py +++ b/kcc-c2p.py @@ -18,7 +18,7 @@ # TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. -__version__ = '4.2.1' +__version__ = '4.3' __license__ = 'ISC' __copyright__ = '2012-2014, Ciro Mattia Gonano <ciromattia@gmail.com>, Pawel Jastrzebski <pawelj@iosphe.re>' __docformat__ = 'restructuredtext en' diff --git a/kcc.iss b/kcc.iss index 9697188..3f6e619 100644 --- a/kcc.iss +++ b/kcc.iss @@ -1,5 +1,5 @@ #define MyAppName "Kindle Comic Converter" -#define MyAppVersion "4.2.1" +#define MyAppVersion "4.3" #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 682e411..c59f2ad 100755 --- a/kcc.py +++ b/kcc.py @@ -18,7 +18,7 @@ # TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. -__version__ = '4.2.1' +__version__ = '4.3' __license__ = 'ISC' __copyright__ = '2012-2014, Ciro Mattia Gonano <ciromattia@gmail.com>, Pawel Jastrzebski <pawelj@iosphe.re>' __docformat__ = 'restructuredtext en' @@ -84,14 +84,14 @@ elif sys.platform.startswith('win'): os.chdir(os.path.dirname(os.path.abspath(sys.executable))) # Implementing dummy stdout and stderr for frozen Windows release - class fakestd(object): + class FakeSTD(object): def write(self, string): pass def flush(self): pass - sys.stdout = fakestd() - sys.stderr = fakestd() + sys.stdout = FakeSTD() + sys.stderr = FakeSTD() else: os.environ['PATH'] = os.path.dirname(os.path.abspath(__file__)) + '/other/;' + os.environ['PATH'] os.chdir(os.path.dirname(os.path.abspath(__file__))) @@ -123,7 +123,6 @@ class QApplicationMessaging(QtWidgets.QApplication): def event(self, e): if e.type() == QtCore.QEvent.FileOpen: - # noinspection PyArgumentList self.messageFromOtherInstance.emit(bytes(e.file(), 'UTF-8')) return True else: @@ -141,7 +140,6 @@ class QApplicationMessaging(QtWidgets.QApplication): socket = QtNetwork.QLocalSocket(self) socket.connectToServer(self._key, QtCore.QIODevice.WriteOnly) socket.waitForConnected(self._timeout) - # noinspection PyArgumentList socket.write(bytes(message, 'UTF-8')) socket.waitForBytesWritten(self._timeout) socket.disconnectFromServer() diff --git a/kcc/KCC_gui.py b/kcc/KCC_gui.py index 40f6e73..1cb465f 100644 --- a/kcc/KCC_gui.py +++ b/kcc/KCC_gui.py @@ -17,7 +17,7 @@ # TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. -__version__ = '4.2.1' +__version__ = '4.3' __license__ = 'ISC' __copyright__ = '2012-2014, Ciro Mattia Gonano <ciromattia@gmail.com>, Pawel Jastrzebski <pawelj@iosphe.re>' __docformat__ = 'restructuredtext en' @@ -264,7 +264,7 @@ class ProgressThread(QtCore.QThread): class WorkerThread(QtCore.QThread): - #noinspection PyArgumentList + # noinspection PyArgumentList def __init__(self): QtCore.QThread.__init__(self) self.conversionAlive = False diff --git a/kcc/__init__.py b/kcc/__init__.py index f204eb3..4742e6e 100644 --- a/kcc/__init__.py +++ b/kcc/__init__.py @@ -1,4 +1,4 @@ -__version__ = '4.2.1' +__version__ = '4.3' __license__ = 'ISC' __copyright__ = '2012-2014, Ciro Mattia Gonano <ciromattia@gmail.com>, Pawel Jastrzebski <pawelj@iosphe.re>' __docformat__ = 'restructuredtext en' \ No newline at end of file diff --git a/kcc/comic2ebook.py b/kcc/comic2ebook.py index 17999fb..94d50e7 100755 --- a/kcc/comic2ebook.py +++ b/kcc/comic2ebook.py @@ -18,7 +18,7 @@ # PERFORMANCE OF THIS SOFTWARE. # -__version__ = '4.2.1' +__version__ = '4.3' __license__ = 'ISC' __copyright__ = '2012-2014, Ciro Mattia Gonano <ciromattia@gmail.com>, Pawel Jastrzebski <pawelj@iosphe.re>' __docformat__ = 'restructuredtext en' @@ -749,7 +749,7 @@ def sanitizePermissions(filetree): os.chmod(os.path.join(root, name), S_IWRITE | S_IREAD | S_IEXEC) -#noinspection PyUnboundLocalVariable +# noinspection PyUnboundLocalVariable def splitDirectory(path): # Detect directory stucture for root, dirs, files in walkLevel(os.path.join(path, 'OEBPS', 'Images'), 0): @@ -948,7 +948,7 @@ def makeZIP(zipFilename, baseDir, isEPUB=False): def makeParser(): - """Create and return an option parser set up with kcc's options.""" + """Create and return an option parser set up with KCC options.""" psr = OptionParser(usage="Usage: kcc-c2e [options] comic_file|comic_folder", add_help_option=False) mainOptions = OptionGroup(psr, "MAIN") @@ -1148,7 +1148,6 @@ def makeBook(source, qtGUI=None): tomeNumber += 1 options.title = options.baseTitle + ' [' + str(tomeNumber) + '/' + str(len(tomes)) + ']' if options.format == 'CBZ': - # if CBZ output wanted, compress all images and return filepath print("\nCreating CBZ file...") if len(tomes) > 1: filepath.append(getOutputFilename(source, options.output, '.cbz', ' ' + str(tomeNumber))) @@ -1158,7 +1157,6 @@ def makeBook(source, qtGUI=None): else: print("\nCreating EPUB file...") buildEPUB(tome, chapterNames, tomeNumber) - # actually zip the ePub if len(tomes) > 1: filepath.append(getOutputFilename(source, options.output, '.epub', ' ' + str(tomeNumber))) else: diff --git a/kcc/comic2panel.py b/kcc/comic2panel.py index e0e9191..72d2f72 100644 --- a/kcc/comic2panel.py +++ b/kcc/comic2panel.py @@ -18,7 +18,7 @@ # PERFORMANCE OF THIS SOFTWARE. # -__version__ = '4.2.1' +__version__ = '4.3' __license__ = 'ISC' __copyright__ = '2012-2014, Ciro Mattia Gonano <ciromattia@gmail.com>, Pawel Jastrzebski <pawelj@iosphe.re>' __docformat__ = 'restructuredtext en' @@ -118,7 +118,6 @@ def splitImageTick(output): splitWorkerPool.terminate() -#noinspection PyUnboundLocalVariable def splitImage(work): try: path = work[0] @@ -165,6 +164,7 @@ def splitImage(work): for panel in panelsCleaned: panels.append(panel) if opt.debug: + # noinspection PyUnboundLocalVariable debugImage.save(os.path.join(path, fileExpanded[0] + '-debug.png'), 'PNG') # Create virtual pages diff --git a/kcc/image.py b/kcc/image.py index ce036d7..6a0aad8 100755 --- a/kcc/image.py +++ b/kcc/image.py @@ -16,7 +16,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. -__version__ = '4.2.1' +__version__ = '4.3' __license__ = 'ISC' __copyright__ = '2012-2014, Ciro Mattia Gonano <ciromattia@gmail.com>, Pawel Jastrzebski <pawelj@iosphe.re>' __docformat__ = 'restructuredtext en' diff --git a/setup.py b/setup.py index fa19e56..396d6d7 100755 --- a/setup.py +++ b/setup.py @@ -14,7 +14,7 @@ if version_info[0] != 3: exit(1) NAME = "KindleComicConverter" -VERSION = "4.2.1" +VERSION = "4.3" MAIN = "kcc.py" if platform == "darwin": @@ -93,7 +93,7 @@ else: print('Please use setup.sh to build Linux package.') exit() -#noinspection PyUnboundLocalVariable +# noinspection PyUnboundLocalVariable setup( name=NAME, version=VERSION, diff --git a/setup.sh b/setup.sh index eacc5c4..e1947dd 100755 --- a/setup.sh +++ b/setup.sh @@ -1,7 +1,7 @@ #!/bin/bash # Linux Python package build script -VERSION="4.2.1" +VERSION="4.3" cp kcc.py __main__.py zip kcc.zip __main__.py kcc/*.py |