From a3b0552a7ac70da3198c6ada82b6161f7c33a1f4 Mon Sep 17 00:00:00 2001 From: Dustin Spicuzza Date: Fri, 7 Feb 2025 15:41:20 -0500 Subject: [PATCH] Be more robust against invalid distribution list - Fixes #117 - Fixes #121 --- robotpy_installer/pypackages.py | 1 + robotpy_installer/roborio_utils.py | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/robotpy_installer/pypackages.py b/robotpy_installer/pypackages.py index 5ee83fa..5bc8ef8 100644 --- a/robotpy_installer/pypackages.py +++ b/robotpy_installer/pypackages.py @@ -150,6 +150,7 @@ def get_local_packages() -> Packages: return { canonicalize_name(dist.metadata["Name"]): [Version(dist.version)] for dist in distributions() + if dist.metadata["Name"] } diff --git a/robotpy_installer/roborio_utils.py b/robotpy_installer/roborio_utils.py index 86e93b4..2bc538d 100644 --- a/robotpy_installer/roborio_utils.py +++ b/robotpy_installer/roborio_utils.py @@ -84,7 +84,9 @@ def get_rio_py_packages(ssh: SshController) -> typing.Dict[str, str]: get_output=True, ) assert result.stdout is not None - return json.loads(result.stdout) + d = json.loads(result.stdout) + # sometimes distributions.name or version is None + return {k: v for k, v in d.items() if k and v} def get_kill_script() -> bytes: