From 6f1c33f05d3334c44d2afd4a8b062f18111e1846 Mon Sep 17 00:00:00 2001 From: Jeremy Stanley Date: Sat, 9 Oct 2021 16:57:22 +0000 Subject: [PATCH] Strip specifiers in dependency version strings When comparing installed module names with the package dependencies, chop off the version specifiers included with the requirements strings in order to ease matching them. --- mudpy/version.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/mudpy/version.py b/mudpy/version.py index d99617e..aa1e3eb 100644 --- a/mudpy/version.py +++ b/mudpy/version.py @@ -1,6 +1,6 @@ """Version and diagnostic information for the mudpy engine.""" -# Copyright (c) 2018-2020 mudpy authors. Permission to use, copy, +# Copyright (c) 2018-2021 mudpy authors. Permission to use, copy, # modify, and distribute this software is granted under terms # provided in the LICENSE file distributed with this software. @@ -113,8 +113,16 @@ class Versions: def _normalize_project(project_name): - """Convenience function to normalize Python project names.""" + """Strip and normalize Python project names.""" + + # Use lower-case names for ease of comparison if use_importlib: - return project_name.lower() + project_name = project_name.lower() else: - return pkg_resources.safe_name(project_name).lower() + project_name = pkg_resources.safe_name(project_name).lower() + + # Remove any version specifiers included with requirements strings + for operator in ' <>=!': + project_name = project_name.split(operator)[0] + + return project_name -- 2.11.0