From df0d729b8d5a68d15edd5427ec4022f0c77ceb61 Mon Sep 17 00:00:00 2001 From: Daniel Ziegenberg Date: Mon, 15 Nov 2021 16:26:48 +0100 Subject: [PATCH 1/2] replace deprecated distutils with packaging MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The distutils package is deprecated and slated for removal in Python 3.12. The migration advice suggests for: "distutils.version — use the packaging package". Fixes: #428 Signed-off-by: Daniel Ziegenberg --- output_scour.py | 24 +++++++++++++++++++++--- setup.py | 2 +- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/output_scour.py b/output_scour.py index 9ff5cd45..a97ca983 100755 --- a/output_scour.py +++ b/output_scour.py @@ -3,17 +3,28 @@ Run the scour module on the svg output. """ -from distutils.version import StrictVersion +import sys import inkex +if sys.version_info[0] == 2: + from distutils.version import StrictVersion +else: + try: + from packaging.version import Version + except ImportError: + raise inkex.DependencyError("""Failed to import module 'packaging'. +Please make sure it is installed (e.g. using 'pip install packaging' +or 'sudo apt-get install python3-packaging') and try again. +""") + try: import scour from scour.scour import scourString except ImportError: raise inkex.DependencyError("""Failed to import module 'scour'. Please make sure it is installed (e.g. using 'pip install scour' - or 'sudo apt-get install python-scour') and try again. + or 'sudo apt-get install python3-scour') and try again. """) @@ -56,7 +67,14 @@ class ScourInkscape(inkex.OutputExtension): if self.options.scour_version_warn_old: scour_version = scour.__version__ scour_version_min = self.options.scour_version - if StrictVersion(scour_version) < StrictVersion(scour_version_min): + scour_oldversion = False + if sys.version_info[0] == 2: + if StrictVersion(scour_version) < StrictVersion(scour_version_min): + scour_oldversion = True + else: + if Version(scour_version) < Version(scour_version_min): + scour_oldversion = True + if scour_oldversion == True: raise inkex.AbortExtension(f""" The extension 'Optimized SVG Output' is designed for Scour {scour_version_min} or later but you're using the older version Scour {scour_version}. diff --git a/setup.py b/setup.py index 01e27568..1849abca 100755 --- a/setup.py +++ b/setup.py @@ -39,7 +39,7 @@ setup( 'Programming Language :: Python :: 3.7', ], packages=['inkex', 'inkex.elements', 'inkex.tester'], - install_requires=['scour', 'numpy', 'pyserial', 'cssselect'], + install_requires=['scour', 'numpy', 'pyserial', 'cssselect', 'packaging'], setup_requires=["pytest-runner"], tests_require=["pytest", "pytest-cov"] ) -- GitLab From bc5aa534cd63464ea27953c1a84cec9200e1c65f Mon Sep 17 00:00:00 2001 From: Daniel Ziegenberg Date: Mon, 15 Nov 2021 16:57:42 +0100 Subject: [PATCH 2/2] remove python2 support Signed-off-by: Daniel Ziegenberg --- output_scour.py | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/output_scour.py b/output_scour.py index a97ca983..dab0f099 100755 --- a/output_scour.py +++ b/output_scour.py @@ -4,16 +4,12 @@ Run the scour module on the svg output. """ -import sys import inkex -if sys.version_info[0] == 2: - from distutils.version import StrictVersion -else: - try: - from packaging.version import Version - except ImportError: - raise inkex.DependencyError("""Failed to import module 'packaging'. +try: + from packaging.version import Version +except ImportError: + raise inkex.DependencyError("""Failed to import module 'packaging'. Please make sure it is installed (e.g. using 'pip install packaging' or 'sudo apt-get install python3-packaging') and try again. """) @@ -67,14 +63,7 @@ class ScourInkscape(inkex.OutputExtension): if self.options.scour_version_warn_old: scour_version = scour.__version__ scour_version_min = self.options.scour_version - scour_oldversion = False - if sys.version_info[0] == 2: - if StrictVersion(scour_version) < StrictVersion(scour_version_min): - scour_oldversion = True - else: - if Version(scour_version) < Version(scour_version_min): - scour_oldversion = True - if scour_oldversion == True: + if Version(scour_version) < Version(scour_version_min): raise inkex.AbortExtension(f""" The extension 'Optimized SVG Output' is designed for Scour {scour_version_min} or later but you're using the older version Scour {scour_version}. -- GitLab