From c1d1ac2de16b92c8f32feee0fb936ecb990dcfef Mon Sep 17 00:00:00 2001 From: Ethan Paul <24588726+enpaul@users.noreply.github.com> Date: Wed, 16 Dec 2020 19:01:20 -0500 Subject: [PATCH] Update handling of poetrys unsafe dependencies to avoid keyerror Fixes #33 --- tox_poetry_installer/utilities.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tox_poetry_installer/utilities.py b/tox_poetry_installer/utilities.py index 9886ec7..2a71a57 100644 --- a/tox_poetry_installer/utilities.py +++ b/tox_poetry_installer/utilities.py @@ -63,8 +63,6 @@ def find_transients(packages: PackageMap, dependency_name: str) -> Set[PoetryPac from tox_poetry_installer import _poetry def find_deps_of_deps(name: str, searched: Set[str]) -> PackageMap: - package = packages[name] - transients: PackageMap = {} searched.add(name) if name in _poetry.Provider.UNSAFE_PACKAGES: @@ -72,9 +70,15 @@ def find_transients(packages: PackageMap, dependency_name: str) -> Set[PoetryPac f"{constants.REPORTER_PREFIX} Installing package '{name}' using Poetry is not supported; skipping installation of package '{name}'" ) reporter.verbosity2( - f"{constants.REPORTER_PREFIX} Skip {package}: designated unsafe by Poetry" + f"{constants.REPORTER_PREFIX} Skip {name}: designated unsafe by Poetry" ) - elif not package.python_constraint.allows(constants.PLATFORM_VERSION): + + return dict() + + transients: PackageMap = {} + package = packages[name] + + if not package.python_constraint.allows(constants.PLATFORM_VERSION): reporter.verbosity2( f"{constants.REPORTER_PREFIX} Skip {package}: incompatible Python requirement '{package.python_constraint}' for current version '{constants.PLATFORM_VERSION}'" )