From 4e619fd1cc5355753be96ecfe5c7f40ecf418cf1 Mon Sep 17 00:00:00 2001 From: Alex Xu Date: Sat, 7 Nov 2026 18:31:36 -0800 Subject: [PATCH] partially/fully checked output folder name removes special characters for KEPUB (#1508) --- kindlecomicconverter/KCC_gui.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/kindlecomicconverter/KCC_gui.py b/kindlecomicconverter/KCC_gui.py index 61a7d3da..16ed8563 100644 --- a/kindlecomicconverter/KCC_gui.py +++ b/kindlecomicconverter/KCC_gui.py @@ -50,7 +50,7 @@ from .KCC_spread_label import LabelSpreadsDialog from .shared import HTMLStripper, sanitizeTrace, walkLevel from .image import ProfileData from .comicarchive import SEVENZIP, TAR, available_archive_tools -from .comic2ebook import OS_SORT_KEY, KF7_KINDLES, flattenTree, getWorkFolder, removeNonImages, sanitizeTree, detectKindleGen +from .comic2ebook import KOBO_TOUCH_DRIVER_REGEX, OS_SORT_KEY, KF7_KINDLES, flattenTree, getWorkFolder, removeNonImages, sanitizeTree, detectKindleGen from . import __version__ from . import i18n from . import comic2ebook @@ -1338,18 +1338,21 @@ class KCCGUI(QObject, KCC_ui.Ui_mainWindow): self.conversionAlive = False self.worker.sync() else: + parent = Path(self.jobList.item(0).text()).parent + name = parent.name + if GUI.deviceBox.currentText().startswith('Kobo') and GUI.formatBox.currentText() == 'EPUB': + name = KOBO_TOUCH_DRIVER_REGEX.sub('_', name) + if QApplication.keyboardModifiers() == Qt.KeyboardModifier.ShiftModifier: if not self.selectOutputFolder(): return elif GUI.defaultOutputFolderBox.checkState() == Qt.CheckState.PartiallyChecked: - parent = Path(self.jobList.item(0).text()).parent - target_path = parent.joinpath(f"{parent.name} [kcc]") + target_path = parent.joinpath(f"{name} [kcc]") if not target_path.exists(): target_path.mkdir() self.targetDirectory = str(target_path) elif GUI.defaultOutputFolderBox.isChecked(): - parent = Path(self.jobList.item(0).text()).parent - self.targetDirectory = os.path.join(self.defaultOutputFolder, f"{parent.name} [kcc]") + self.targetDirectory = os.path.join(self.defaultOutputFolder, f"{name} [kcc]") else: GUI.targetDirectory = '' self.progress.start()