From cdb026930a9d3bcaaf44604bd6e2d949f28fb327 Mon Sep 17 00:00:00 2001 From: Frost Ming Date: Thu, 18 Apr 2024 18:46:17 +0800 Subject: [PATCH 1/3] fix: ignore invalid version strinig from winreg Fixes #28 Signed-off-by: Frost Ming --- src/findpython/providers/winreg.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/findpython/providers/winreg.py b/src/findpython/providers/winreg.py index 37b47bd..d7d3ddc 100644 --- a/src/findpython/providers/winreg.py +++ b/src/findpython/providers/winreg.py @@ -36,9 +36,14 @@ def find_pythons(self) -> t.Iterable[PythonVersion]: continue if path.exists(): py_version = getattr(version.info, "version", None) + version = None + try: + version = Version(py_version) + except ValueError: + pass py_ver = self.version_maker( path, - Version(py_version) if py_version else None, + version, getattr(version.info, "sys_architecture", SYS_ARCHITECTURE), path, ) From b996e99fcd1522bd4c4175bb017c6f77607667dd Mon Sep 17 00:00:00 2001 From: Frost Ming Date: Thu, 18 Apr 2024 18:47:22 +0800 Subject: [PATCH 2/3] fix: only convert if not none Signed-off-by: Frost Ming --- src/findpython/providers/winreg.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/findpython/providers/winreg.py b/src/findpython/providers/winreg.py index d7d3ddc..4892e38 100644 --- a/src/findpython/providers/winreg.py +++ b/src/findpython/providers/winreg.py @@ -37,10 +37,11 @@ def find_pythons(self) -> t.Iterable[PythonVersion]: if path.exists(): py_version = getattr(version.info, "version", None) version = None - try: - version = Version(py_version) - except ValueError: - pass + if py_version: + try: + version = Version(py_version) + except ValueError: + pass py_ver = self.version_maker( path, version, From aafa77fd8ee1055ccf5c4bd316119400e44a4976 Mon Sep 17 00:00:00 2001 From: Frost Ming Date: Thu, 18 Apr 2024 19:08:05 +0800 Subject: [PATCH 3/3] fix name Signed-off-by: Frost Ming --- src/findpython/providers/winreg.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/findpython/providers/winreg.py b/src/findpython/providers/winreg.py index 4892e38..dd13a51 100644 --- a/src/findpython/providers/winreg.py +++ b/src/findpython/providers/winreg.py @@ -36,15 +36,15 @@ def find_pythons(self) -> t.Iterable[PythonVersion]: continue if path.exists(): py_version = getattr(version.info, "version", None) - version = None + parse_version: Version | None = None if py_version: try: - version = Version(py_version) + parse_version = Version(py_version) except ValueError: pass py_ver = self.version_maker( path, - version, + parse_version, getattr(version.info, "sys_architecture", SYS_ARCHITECTURE), path, )