From 6299c45790284425a27199f3d21728c3921f081d Mon Sep 17 00:00:00 2001 From: Alex Xu Date: Sun, 29 Jun 2025 09:28:47 -0700 Subject: [PATCH] fix flatpak kindlegen detection (7.5.0 regression) (#1000) * fix flatpak kindlegen detection * fix shared --- kindlecomicconverter/KCC_gui.py | 4 ++-- kindlecomicconverter/comic2ebook.py | 2 +- kindlecomicconverter/shared.py | 3 +-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/kindlecomicconverter/KCC_gui.py b/kindlecomicconverter/KCC_gui.py index c8a6ecc..cc8e38b 100644 --- a/kindlecomicconverter/KCC_gui.py +++ b/kindlecomicconverter/KCC_gui.py @@ -30,7 +30,7 @@ import sys from urllib.parse import unquote from time import sleep from shutil import move, rmtree -from subprocess import STDOUT, PIPE +from subprocess import STDOUT, PIPE, CalledProcessError import requests from xml.sax.saxutils import escape @@ -945,7 +945,7 @@ class KCCGUI(KCC_ui.Ui_mainWindow): self.addMessage('Your KindleGen' ' is outdated! MOBI conversion might fail.', 'warning') break - except FileNotFoundError: + except (FileNotFoundError, CalledProcessError): self.kindleGen = False if startup: self.display_kindlegen_missing() diff --git a/kindlecomicconverter/comic2ebook.py b/kindlecomicconverter/comic2ebook.py index aa79c3e..e5d01fc 100755 --- a/kindlecomicconverter/comic2ebook.py +++ b/kindlecomicconverter/comic2ebook.py @@ -1238,7 +1238,7 @@ def checkTools(source): if options.format == 'MOBI': try: subprocess_run(['kindlegen', '-locale', 'en'], stdout=PIPE, stderr=STDOUT, check=True) - except FileNotFoundError: + except (FileNotFoundError, CalledProcessError): print('ERROR: KindleGen is missing!') sys.exit(1) diff --git a/kindlecomicconverter/shared.py b/kindlecomicconverter/shared.py index a227e1e..c1eb52b 100644 --- a/kindlecomicconverter/shared.py +++ b/kindlecomicconverter/shared.py @@ -20,7 +20,6 @@ from functools import lru_cache import os -from hashlib import md5 from html.parser import HTMLParser import subprocess from packaging.version import Version @@ -140,7 +139,7 @@ def available_archive_tools(): try: subprocess_run([tool], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) available.append(tool) - except FileNotFoundError: + except (FileNotFoundError, subprocess.CalledProcessError): pass return available