From 16dd034af401c4392db710eea7d1e7791b7714e8 Mon Sep 17 00:00:00 2001 From: Alex Xu Date: Wed, 28 Aug 2024 14:25:14 -0700 Subject: [PATCH] add Python 3.12 support --- kindlecomicconverter/KCC_gui.py | 8 ++++---- kindlecomicconverter/shared.py | 10 +++++----- setup.py | 3 +-- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/kindlecomicconverter/KCC_gui.py b/kindlecomicconverter/KCC_gui.py index ccf4ada..ade3a6e 100644 --- a/kindlecomicconverter/KCC_gui.py +++ b/kindlecomicconverter/KCC_gui.py @@ -31,7 +31,7 @@ from PySide6.QtCore import Qt from xml.sax.saxutils import escape from psutil import Process from copy import copy -from distutils.version import StrictVersion +from packaging.version import Version from raven import Client from tempfile import gettempdir @@ -146,9 +146,9 @@ class VersionThread(QtCore.QThread): latest_version = json_parser["tag_name"] latest_version = re.sub(r'^v', "", latest_version) - if ("b" not in __version__ and StrictVersion(latest_version) > StrictVersion(__version__)) \ + if ("b" not in __version__ and Version(latest_version) > Version(__version__)) \ or ("b" in __version__ - and StrictVersion(latest_version) >= StrictVersion(re.sub(r'b.*', '', __version__))): + and Version(latest_version) >= Version(re.sub(r'b.*', '', __version__))): MW.addMessage.emit('The new version is available!', 'warning', False) except Exception: @@ -851,7 +851,7 @@ class KCCGUI(KCC_ui.Ui_mainWindow): for line in versionCheck.stdout.splitlines(): if 'Amazon kindlegen' in line: versionCheck = line.split('V')[1].split(' ')[0] - if StrictVersion(versionCheck) < StrictVersion('2.9'): + if Version(versionCheck) < Version('2.9'): self.addMessage('Your KindleGen' ' is outdated! MOBI conversion might fail.', 'warning') break diff --git a/kindlecomicconverter/shared.py b/kindlecomicconverter/shared.py index 65196a2..8e7920d 100644 --- a/kindlecomicconverter/shared.py +++ b/kindlecomicconverter/shared.py @@ -22,7 +22,7 @@ import os from hashlib import md5 from html.parser import HTMLParser import subprocess -from distutils.version import StrictVersion +from packaging.version import Version from re import split import sys from traceback import format_tb @@ -103,7 +103,7 @@ def dependencyCheck(level): if level > 2: try: from PySide6.QtCore import qVersion as qtVersion - if StrictVersion('6.5.1') > StrictVersion(qtVersion()): + if Version('6.5.1') > Version(qtVersion()): missing.append('PySide 6.5.1+') except ImportError: missing.append('PySide 6.5.1+') @@ -114,7 +114,7 @@ def dependencyCheck(level): if level > 1: try: from psutil import __version__ as psutilVersion - if StrictVersion('5.0.0') > StrictVersion(psutilVersion): + if Version('5.0.0') > Version(psutilVersion): missing.append('psutil 5.0.0+') except ImportError: missing.append('psutil 5.0.0+') @@ -123,13 +123,13 @@ def dependencyCheck(level): from slugify import __version__ as slugifyVersion if isinstance(slugifyVersion, ModuleType): slugifyVersion = slugifyVersion.__version__ - if StrictVersion('1.2.1') > StrictVersion(slugifyVersion): + if Version('1.2.1') > Version(slugifyVersion): missing.append('python-slugify 1.2.1+') except ImportError: missing.append('python-slugify 1.2.1+') try: from PIL import __version__ as pillowVersion - if StrictVersion('5.2.0') > StrictVersion(pillowVersion): + if Version('5.2.0') > Version(pillowVersion): missing.append('Pillow 5.2.0+') except ImportError: missing.append('Pillow 5.2.0+') diff --git a/setup.py b/setup.py index 1815f2e..a926fd1 100644 --- a/setup.py +++ b/setup.py @@ -14,7 +14,6 @@ import os import platform import sys import setuptools -import distutils.cmd from kindlecomicconverter import __version__ NAME = 'KindleComicConverter' @@ -23,7 +22,7 @@ VERSION = __version__ # noinspection PyUnresolvedReferences -class BuildBinaryCommand(distutils.cmd.Command): +class BuildBinaryCommand(setuptools.Command): description = 'build binary release' user_options = []