diff --git a/README.md b/README.md
index 2d53bc0..2ff3f42 100644
--- a/README.md
+++ b/README.md
@@ -122,7 +122,7 @@ Options:
Comic title [Default=filename or directory name]
-f FORMAT, --format=FORMAT
Output format (Available options: Auto, MOBI, EPUB,
- CBZ, KFX) [Default=Auto]
+ CBZ, KFX, MOBI+EPUB, KFX+EPUB) [Default=Auto]
-b BATCHSPLIT, --batchsplit=BATCHSPLIT
Split output into multiple files. 0: Don't split 1:
Automatic mode 2: Consider every subdirectory as
diff --git a/kindlecomicconverter/KCC_gui.py b/kindlecomicconverter/KCC_gui.py
index d3a1a8b..8e89d10 100644
--- a/kindlecomicconverter/KCC_gui.py
+++ b/kindlecomicconverter/KCC_gui.py
@@ -116,6 +116,10 @@ class Icons:
self.EPUBFormat.addPixmap(QtGui.QPixmap(":/Formats/icons/EPUB.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.KFXFormat = QtGui.QIcon()
self.KFXFormat.addPixmap(QtGui.QPixmap(":/Formats/icons/KFX.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.MOBIEPUBFormat = QtGui.QIcon()
+ self.MOBIEPUBFormat.addPixmap(QtGui.QPixmap(":/Formats/icons/MOBI.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.KFXEPUBFormat = QtGui.QIcon()
+ self.KFXEPUBFormat.addPixmap(QtGui.QPixmap(":/Formats/icons/KFX.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.info = QtGui.QIcon()
self.info.addPixmap(QtGui.QPixmap(":/Status/icons/info.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
@@ -315,8 +319,7 @@ class WorkerThread(QtCore.QThread):
jobargv = list(argv)
jobargv.append(job)
try:
- comic2ebook.options = copy(options)
- comic2ebook.checkOptions()
+ comic2ebook.options = comic2ebook.checkOptions(copy(options))
outputPath = comic2ebook.makeBook(job, self)
MW.hideProgressBar.emit()
except UserWarning as warn:
@@ -361,7 +364,7 @@ class WorkerThread(QtCore.QThread):
MW.addMessage.emit('Creating CBZ files... Done!', 'info', True)
else:
MW.addMessage.emit('Creating EPUB files... Done!', 'info', True)
- if str(GUI.formatBox.currentText()) == 'MOBI/AZW3':
+ if str(GUI.formatBox.currentText()) == 'MOBI/AZW3' or str(GUI.formatBox.currentText()) == 'MOBI+EPUB':
MW.progressBarTick.emit('Creating MOBI files')
MW.progressBarTick.emit(str(len(outputPath) * 2 + 1))
MW.progressBarTick.emit('tick')
@@ -1064,8 +1067,8 @@ class KCCGUI(KCC_ui.Ui_mainWindow):
GUI.deviceBox.addItem(self.icons.deviceKobo, profile)
else:
GUI.deviceBox.addItem(self.icons.deviceKindle, profile)
- for f in ['MOBI/AZW3', 'EPUB', 'CBZ', 'KFX']:
- GUI.formatBox.addItem(eval('self.icons.' + f.replace('/AZW3', '') + 'Format'), f)
+ for f in ['MOBI/AZW3', 'EPUB', 'CBZ', 'KFX', 'MOBI+EPUB', 'KFX+EPUB']:
+ GUI.formatBox.addItem(eval('self.icons.' + f.replace('/AZW3', '').replace('+', '') + 'Format'), f)
if self.lastDevice > GUI.deviceBox.count():
self.lastDevice = 0
if profilesGUI[self.lastDevice] == "Separator":
diff --git a/kindlecomicconverter/comic2ebook.py b/kindlecomicconverter/comic2ebook.py
index aacc808..c42824f 100755
--- a/kindlecomicconverter/comic2ebook.py
+++ b/kindlecomicconverter/comic2ebook.py
@@ -68,7 +68,7 @@ def main(argv=None):
for source in sources:
source = source.rstrip('\\').rstrip('/')
options = copy(optionstemplate)
- checkOptions()
+ options = checkOptions(options)
if len(sources) > 1:
print('Working on ' + source + '...')
makeBook(source)
@@ -925,7 +925,8 @@ def makeParser():
outputOptions.add_option("-t", "--title", action="store", dest="title", default="defaulttitle",
help="Comic title [Default=filename or directory name]")
outputOptions.add_option("-f", "--format", action="store", dest="format", default="Auto",
- help="Output format (Available options: Auto, MOBI, EPUB, CBZ, KFX) [Default=Auto]")
+ help="Output format (Available options: Auto, MOBI, EPUB, CBZ, KFX, MOBI+EPUB, KFX+EPUB) "
+ "[Default=Auto]")
outputOptions.add_option("-b", "--batchsplit", type="int", dest="batchsplit", default="0",
help="Split output into multiple files. 0: Don't split 1: Automatic mode "
"2: Consider every subdirectory as separate volume [Default=0]")
@@ -972,11 +973,17 @@ def makeParser():
return psr
-def checkOptions():
- global options
+def checkOptions(options):
options.panelview = True
options.iskindle = False
options.bordersColor = None
+ options.keep_epub = False
+ if options.format == 'MOBI+EPUB':
+ options.keep_epub = True
+ options.format = 'MOBI'
+ if options.format == 'KFX+EPUB':
+ options.keep_epub = True
+ options.format = 'KFX'
options.kfx = False
if options.format == 'Auto':
if options.profile in ['K1', 'K2', 'K34', 'K578', 'KPW', 'KPW5', 'KV', 'KO']:
@@ -1032,6 +1039,7 @@ def checkOptions():
image.ProfileData.Profiles["Custom"] = newProfile
options.profile = "Custom"
options.profileData = image.ProfileData.Profiles[options.profile]
+ return options
def checkTools(source):
@@ -1166,7 +1174,8 @@ def makeBook(source, qtgui=None):
def makeMOBIFix(item, uuid):
- os.remove(item)
+ if not options.keep_epub:
+ os.remove(item)
mobiPath = item.replace('.epub', '.mobi')
move(mobiPath, mobiPath + '_toclean')
try: