From dd7978adb058183f82c971ec7e2e97aa6867af0a Mon Sep 17 00:00:00 2001 From: Alex Xu Date: Sun, 18 Oct 2026 15:34:26 -0700 Subject: [PATCH 1/3] rename kepubs with folder input --- kindlecomicconverter/comic2ebook.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kindlecomicconverter/comic2ebook.py b/kindlecomicconverter/comic2ebook.py index a5280aaa..f4bff216 100755 --- a/kindlecomicconverter/comic2ebook.py +++ b/kindlecomicconverter/comic2ebook.py @@ -1099,8 +1099,6 @@ def getOutputFilename(srcpath, wantedname, ext, tomenumber): filename = os.path.join(os.path.abspath(options.output), source_path.stem + tomenumber + ext) else: filename = os.path.join(os.path.abspath(options.output), source_path.name + tomenumber + ext) - elif os.path.isdir(srcpath): - filename = srcpath + tomenumber + ext else: if 'Ko' in options.profile and options.format == 'EPUB': if source_path.is_file(): @@ -1108,6 +1106,8 @@ def getOutputFilename(srcpath, wantedname, ext, tomenumber): else: name = KOBO_TOUCH_DRIVER_REGEX.sub('_', source_path.name) + tomenumber + ext filename = source_path.with_name(name) + elif os.path.isdir(srcpath): + filename = srcpath + tomenumber + ext else: filename = os.path.splitext(srcpath)[0] + tomenumber + ext if os.path.exists(filename): From bf3de53eb58acf7ece51ecd86b7121389a2ba0a0 Mon Sep 17 00:00:00 2001 From: Alex Xu Date: Sun, 18 Oct 2026 15:42:42 -0700 Subject: [PATCH 2/3] name duplicated kepubs with kcc0, kcc1, etc --- kindlecomicconverter/comic2ebook.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kindlecomicconverter/comic2ebook.py b/kindlecomicconverter/comic2ebook.py index f4bff216..80cfba30 100755 --- a/kindlecomicconverter/comic2ebook.py +++ b/kindlecomicconverter/comic2ebook.py @@ -1113,6 +1113,8 @@ def getOutputFilename(srcpath, wantedname, ext, tomenumber): if os.path.exists(filename): counter = 0 basename = os.path.splitext(filename)[0] + if ext == '.kepub.epub': + basename = os.path.splitext(basename)[0] while os.path.exists(basename + '_kcc' + str(counter) + ext): counter += 1 filename = basename + '_kcc' + str(counter) + ext From e271bc4451295520175ad6e4d0dd043a7c6f4851 Mon Sep 17 00:00:00 2001 From: Alex Xu Date: Sun, 18 Oct 2026 18:12:13 -0700 Subject: [PATCH 3/3] fix minor bugs in getOutputFilename --- kindlecomicconverter/comic2ebook.py | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/kindlecomicconverter/comic2ebook.py b/kindlecomicconverter/comic2ebook.py index 80cfba30..1075ab95 100755 --- a/kindlecomicconverter/comic2ebook.py +++ b/kindlecomicconverter/comic2ebook.py @@ -1084,32 +1084,38 @@ def getOutputFilename(srcpath, wantedname, ext, tomenumber): ext = '.epub' else: ext = '.kepub.epub' - if wantedname is not None: + + custom_output_directory = False + if wantedname: wanted_root, wanted_ext = os.path.splitext(wantedname) + # so you could have an output folder with . in the filename if not options.folder_output and wantedname.endswith(ext): filename = os.path.abspath(wantedname) elif wanted_ext == '.mobi' and ext == '.epub': filename = os.path.abspath(wanted_root + ext) - # output directory else: + custom_output_directory = True abs_path = os.path.abspath(options.output) if not os.path.exists(abs_path): os.mkdir(abs_path) - if source_path.is_file(): - filename = os.path.join(os.path.abspath(options.output), source_path.stem + tomenumber + ext) - else: - filename = os.path.join(os.path.abspath(options.output), source_path.name + tomenumber + ext) - else: + + if wantedname is None or custom_output_directory: if 'Ko' in options.profile and options.format == 'EPUB': if source_path.is_file(): name = KOBO_TOUCH_DRIVER_REGEX.sub('_', source_path.stem) + tomenumber + ext else: name = KOBO_TOUCH_DRIVER_REGEX.sub('_', source_path.name) + tomenumber + ext - filename = source_path.with_name(name) - elif os.path.isdir(srcpath): - filename = srcpath + tomenumber + ext else: - filename = os.path.splitext(srcpath)[0] + tomenumber + ext + if source_path.is_file(): + name = source_path.stem + tomenumber + ext + else: + name = source_path.name + tomenumber + ext + + if custom_output_directory: + filename = os.path.join(os.path.abspath(options.output), name) + else: + filename = source_path.with_name(name) + if os.path.exists(filename): counter = 0 basename = os.path.splitext(filename)[0]